摘要: 纯模拟题View Code #include <iostream>using namespace std;#define N 35000int arr[N]={0};int lucky[N];void init(){ int i,j,k,n; n = 0; for (i=2;i<N;i++) { if(0 == arr[i]) { lucky[n++] = i; k = i+1; j = 0; while(k<N) { ... 阅读全文
posted @ 2012-02-10 00:59 枕边梦 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题意:一种翻转棋游戏,对当前的棋局,问黑子下一步最多能将几个白子翻为黑子,(当前黑子与原先棋盘中的黑子的连线中间的白子会翻成黑子)分析:很简单的搜索题,不过一开始一直WA,实在无语,一直忽略了一种很情况,就是下一个黑子之后,不一定至于棋盘中的一个黑子连成线,也可以是多个,这时候应该将白子数加起来,而不是求最大者,………………hdu3368#include<iostream>#include<algorithm>using namespace std;char g[10][10];int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{-1,1 阅读全文
posted @ 2012-02-10 00:47 枕边梦 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个包含'H' 'T'的串,问最少要切几刀才能使得切下来的块分别分给2个人去使得2个人得到的H数目相等且T的数目相等。分析:明确了一点之后,这题目就很好做了。就是,至多切俩刀。具体的证明看这里吧http://hi.baidu.com/superlong/blog/item/c7e86b067ca0337703088146.htmlhdu3363#include<iostream>#include<algorithm>#include<string>using namespace std;char str[100005 阅读全文
posted @ 2012-02-10 00:29 枕边梦 阅读(339) 评论(0) 推荐(0) 编辑