![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
_夜风
我好懒怎么办
展开
-
hdu 1042
貌似之前也写过这个题目的解题报告。。。老了,记性不好 从贴一遍吧! 代码理解很容易 AC代码: #include #include #include using namespace std; #define N 8000 int main() { int i,j,k,t,n; int a[N]; while(cin>>n) { mems原创 2014-12-17 11:01:20 · 351 阅读 · 0 评论 -
nyoj 623
#include using namespace std; int main() { int a[51][51],b[51][51],c[51][51],i,j,k,l,m,n; while(cin>>m>>n>>k,m+n+k>0) { for(i=1;i<=m;i++) for(j=1;j<=n;j++)原创 2014-12-11 15:03:39 · 370 阅读 · 0 评论 -
HDU5308-脑补-对拍
先贴上对拍的结果: 感想:可以明显发现下标相差1的关系,所以对付这种需要大量脑补的水题,真的蛋疼,以前没用过对拍,只知道有这么回事,调程序什么的都是手算,人工模拟(经常大脑发热,严重缺氧不足),所以试过一次对拍之后,其实感觉对付YY这种水题,特别管用。。。 题意:给一个n值,代表n个n,利用+,-,*,/四种运算构造出24点来,每个数只能用一次,且经过一次运算后的数也只能用原创 2015-07-26 15:27:53 · 737 阅读 · 0 评论 -
HDU5311
题意:给一个指定的字符串a,要求分成三段,然后再给定另外一个字符串b,要求a中的三段能否在b中找到。 思路:枚举+模拟,首先枚举给定的字符串a,因为分成三段,所以一共有(1+9)*9/2种情况,对于分成后的三段p,q,r先查找p在b中匹配后的下标,然后减去b,结果是匹配字符的前一个下标,所以这个时候要加上匹配的长度,才能确定下个匹配从哪里开始,最后只要匹配成功即可退出。 #include #i原创 2015-07-27 14:27:39 · 747 阅读 · 0 评论 -
POJ3750
#include #include #include using namespace std; int main() { int i,j,w,s,n; char a[65][16]; int p[65]; scanf("%d",&n); for(i=1;i<=n;i++) { p[i]=i; scanf("%s"原创 2015-07-15 16:47:08 · 955 阅读 · 0 评论 -
HDU5319
题意:给一个矩形染色,顺笔表示红色,逆笔表示蓝色(既一捺和一丿),交叉表示绿色,然后给你一个图,问你用多少笔能画出这个图来。 思路:对这个图直接模拟即可,如果点i,j坐标为红色,那么判断上一个路径点是否是红色,如果是则不加,所以最后求出的flag即是解,一开是以为是n*n的矩形,(/ □ \),都怪坑爹的实例。。 #include #include #include using原创 2015-07-29 16:27:08 · 539 阅读 · 0 评论 -
SGU131--NYOJ435
参考blog http://m.blog.csdn.net/blog/u012760629/36927465 http://www.cppblog.com/menrowitianya/archive/2014/06/23/207386.html sgu131 题意:给你一个n*m的矩形,可以填充1*2或者缺一角的2*2矩形,求填发? 输入: n,m(n,m 输出:原创 2015-07-17 19:59:35 · 505 阅读 · 0 评论 -
Codeforces-Div312
题意:给你n个数,进行*2,/2操作,求解最小操作次数能使所有数相同。 思路:因为数值在100000以内,直接枚举过去,对读入的每一个数,模拟操作,用数组s来存放累计操作步数,数组flag用来标记确 定*和/分开操作,最后模拟完,只要判断出s数组里面最小的操作步数即可 #include #include #define MAX 99999999 #define N 100原创 2015-08-02 19:49:24 · 366 阅读 · 0 评论 -
HDU5339
题意:给你数a和数组b,然后用a模b中的数,求至少模多少个才能使a==0 思路:直接模拟吧,首先排序,因为模最大的符合(比如2,3,6)然后遍历b,去模其他的所有数,直到为0,标记退出,否则继续遍历b,循环操作。 #include #include #include #include #define INF 999999999 using namespace std; bool c原创 2015-08-02 13:35:58 · 729 阅读 · 5 评论 -
hdu 1166
题意: 给一组数,然后给多组询问,query(x,y)表示求x到y的数和,add(x,y)表示x上的数加上y,sub(x,y)表示x上的数减去y。 这道题和1698的那题相似,只不过1698的是区间更新,处理要加一个lazy标记,这道题就不用,只是简单的点更新,比1698容易 这两道题的代码很相似吧。。。。反正我写的差不多 这里我贴下1698的链接: hdu 1698原创 2014-12-10 10:45:01 · 352 阅读 · 0 评论 -
nyoj 37
//nyoj 37 代码有点乱,和最长公共子序列很像,只是多加了一个数组,之前调用函数, 一直超时,可是我看了下,为什么用一个整形数组存放倒置字符串 竟然可以AC,我测试了下数据,打印出来的是一串地址,为什么为什么为什么啊。。。。 #include #include #define Max(a,b) a>b?a:b using namespace std; int dp[100原创 2014-12-11 12:35:33 · 482 阅读 · 0 评论 -
hdu 2304
题意: 插座插空问题 水题.....只要知道最后一个不需要插即可.... 直接贴代码.. AC代码: #include using namespace std; int main() { int a,b,s,n,k; cin>>n; while(n--) { s=0; cin>>a;原创 2014-12-05 19:10:18 · 477 阅读 · 0 评论 -
hdu 2211
题意: 中文题目,自己看.............. 递归调用.... 没什么难度,注意下long long就行........ AC代码: #include #define LL long long using namespace std; LL L(LL n,int k) { if(n==k) return k; int a=L(n-n/k,k);原创 2014-12-06 10:57:45 · 561 阅读 · 0 评论 -
hdu 2218
题意: 切蛋糕问题 水题...... AC代码: #include using namespace std; int main() { int a[6],i,n; cin>>n; while(n--) { for(i=0;i<6;i++) cin>>a[i]; if(a[0]-原创 2014-12-05 19:14:48 · 543 阅读 · 0 评论 -
hdu 2201
题意: 一共有n个人,m表示第m个人,然后问你第i个人不做到m号位置的概率,最后相乘.... 水题(注意下格式输出) AC代码: #include using namespace std; int main() { int m,n; while(cin>>n>>m) { printf("%.2lf\n",1.0/(1.0*n原创 2014-12-08 13:43:05 · 457 阅读 · 0 评论 -
hdu 5100
题意:给你一个k*1的方块,让你去填充n*n的大方块,求最多能填充多少地方? 这个是bc上的一道题,当初做的时候,一直在找它的规律,反正当时是没做出来......... 后来才知道这个题目有公式可以套, 首先是分情况n 证明有点烦,这里我贴出来,愿意的就去看吧...... http://www.matrix67.com/blog/archives/5900 AC原创 2014-12-04 13:00:16 · 482 阅读 · 2 评论 -
hdu 5105
题意: y=|a*x^3+b*x^2+c*x+d| 求y的最大值? 题目是bc上的,之前写的时候,没考虑0的情况(太笨了)。。。。 水题吧。。。。 AC代码: #include #include #include #include #define max(a,b) (a>b)?a:b; using namespace std; double a,b,c,d,l原创 2014-12-10 14:02:46 · 495 阅读 · 0 评论 -
hdu 2200
题意: 中文自看 大概就是n个人选m个人,然后插板,求有多少种? 插板首先排除头尾,一共有m-1个空,在m-1空里面插入,插入后另外一个就确定了,然后求组合数C(i,n) 水题 AC代码: #include #define LL long long using namespace std; LL ss(LL n,LL m) { LL s=1,i;原创 2014-12-10 14:01:58 · 544 阅读 · 0 评论 -
N!水题
//题目是求N!的问题,思路:设定一个整形数组来存放每次计算过后的值 有两个for循环,第一个for循环每次加进一个数 然后在第二个for循环里面计算出此时的阶乘,比如9999,先给出i=2 在第二个for循环里面计算出2的阶乘,保存在数组里,然后i=3,在计算3的阶乘,后面以此类推。。。 #include #include #include #include #define N原创 2014-12-11 12:38:24 · 446 阅读 · 0 评论 -
HDU5301
题意:给n*m的矩形区域,剔除其中1*1的方块,然后用不同矩形块填充整个矩形区域,求需要的矩形块最大面积的最小值。 思路:先判把矩形矫正,然后特殊处理边值为奇数,且在中心点的情况,最后处理障碍在其他位置,这个时候要分别枚举障碍周围四个方块对应最外面窗户,正好有三个方向,所以取其中的最小值即可。 #include #include #include using namespace原创 2015-07-24 21:28:09 · 550 阅读 · 0 评论