
模拟
lyc1635566ty
这个作者很懒,什么都没留下…
展开
-
模拟-兰顿蚂蚁-水
题目:蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。问k部后蚂蚁的位置。。很水的一道模拟#includeusing namespace std;int sx[5]={0,0,-1,0,1};//左上右下int sy[5]={原创 2016-03-18 17:32:02 · 386 阅读 · 0 评论 -
HDU4847-Wow! Such Doge!简单模拟
#includeusing namespace std;#define pi cos(-1)char s[111111];int main(){ int ans=0; while(scanf("%s",s)!=EOF) { for(int i=0;i<strlen(s);i++) if(s[i]>='A'&&s[i]<='Z')原创 2016-04-08 21:32:01 · 368 阅读 · 0 评论 -
HDU-5752-Sqrt Bo-水
题意:求一个数经过5次开方取整后能否变为1题意:很容易求出当n>2^32次后肯定不行 所以当n#includeusing namespace std;int main(){ char s[1111]; while(scanf("%s",&s)!=EOF) { if(strlen(s)>10) { pri原创 2016-07-27 00:51:34 · 271 阅读 · 0 评论 -
HDU-5762-Teacher Bo-水题
题意:观察到其实当n*n大于2*m时,点对数肯定大于可能取到的曼哈顿距离,所以当小于2*m时,可以暴力模拟#includeusing namespace std;struct NODE { int x,y;}a[111111];bool vis[1111111];int main(){ int t; int n,m; scanf("%d",&t);原创 2016-07-27 01:08:02 · 242 阅读 · 0 评论 -
HDU-5818-Joint Stacks-模拟
题意:模拟两个栈操作。三种操作,push,pop,mergemerge是合并两个栈。合并操作就是相当于重新将两个栈之前扔进的顺序入栈。思路:可以合并两个栈的时候可以将他保存到c栈里,原来两个栈清空。然后出栈的时候,如果A,B空了,就去c里pop#include#define maxn 222222using namespace std;struct NODE{ int v原创 2016-08-10 22:57:27 · 371 阅读 · 0 评论 -
HDU-5831-Rikka with Parenthesis II-括号匹配
题意:一个只包括左右括号的字符串,进过一次交换,能否成为合法的匹配串思路:最优情况就是交换一下最左边的一个右括号和最后一个左括号#includeusing namespace std;char s[111111];int pan(int n) { int sum=0; for(int i=0;i<n;i++) { if(s[i]=='(') {原创 2016-08-12 19:19:43 · 252 阅读 · 0 评论 -
HDU-5878-I Count Two Three-预处理+二分
题目链接题意就是给定一个n,求不小于n的一个只有2,3,5,7为因子构成的数(包括1)思路预处理出所有的满足的数,然后二分一下就好了。#include<bits/stdc++.h>#define maxn 1000000000using namespace std;int x[5]={1,2,3,5,7};int x2[5]={1,30,19,13,11};long long a[5555原创 2016-09-19 21:26:58 · 267 阅读 · 0 评论 -
HDU-4737-A Bit Fun-TwoPointer
题目链接题意:定义f(i,j)=a[i]|a[i+1]|.....|a[j]f(i,j)=a[i]|a[i+1]|.....|a[j]问有多少对i ,j满足f(i,j)f(i,j)小于m思路1:第一种思路是暴力加剪枝(竟然过了),由于当i不变的时候,j增加的时候,f(i,j)f(i,j) 是递增的。所以可以直接退出#include<bits/stdc++.h>#define maxn 111111原创 2016-09-08 17:46:51 · 250 阅读 · 0 评论 -
UVALive7263-Today Is a Rainy Day(2015ICPC北京C题)-模拟+BFS
题目链接题意:给你两个数字串,一个s1,一个s2(仅由1到6构成),两种操作,一把一个字符串中的一个数字换成另外一种,一个是把一个字符串中的一种数字全部换成另一种数字。思路:枚举第二种情况 ,bfs枚举每一种123456到x1x2x3x4x5x6的变化需要多少步,最后处理出转换后的字符串。看和目标川还差几个字符。#include<bits/stdc++.h>using namespace std;原创 2016-11-07 23:04:08 · 782 阅读 · 0 评论