搜索
TaskaNon
这个作者很懒,什么都没留下…
展开
-
hdu1241
大意是找@的连通块数量 #include #include #include #include #include #include using namespace std; int m,n,ans; char map[110][110]; int d[8][2]={0,1,0,-1,-1,0,1,0,-1,1,-1,-1,1,1,1,-1}; void dfs(i原创 2015-08-07 22:21:08 · 480 阅读 · 0 评论 -
POJ3740
#include #include #include #include #include #include using namespace std; int m,n; int map[20][350]; int vis[350]; bool pan1() { for(int i=0;in;i++) if(vis[i]==0)return原创 2015-08-07 22:16:25 · 469 阅读 · 0 评论 -
hdu1312
#include #include #include #include #include #include using namespace std; int m,n,ans; char map[25][25]; int d[4][2]={0,1,1,0,0,-1,-1,0}; void dfs(int a,int b) { int p,q; if原创 2015-08-07 22:19:02 · 483 阅读 · 0 评论 -
POJ1154
大意是从第一行第一列开始走,尽可能的多走,且不走走过的字母,问最多能走几步 #include #include #include #include #include #include #include #include using namespace std; int m,n,ans; int d[4][2]={1,0,0,1,-1,0,0,-1}; boo原创 2015-08-07 22:23:50 · 608 阅读 · 0 评论 -
poj1753
从今天开始,真的要一步一脚印,从最简单的做起,争取最短时间进步!!! 题意大概是给你一个4×4棋盘,棋盘上不是‘b'就是'w',要你用最少的翻转步数是它们全部变成'w'或全部变成'b';每次翻转时,该位置的上,下左,右也会随着翻转。 看了别人家的题解才想出来的。。。 大概思路是位运算加bfs;首先4×4不大,所以考虑把棋盘上的字母转换成一个二进制数字,每一个数字对应着一原创 2015-09-21 19:54:21 · 488 阅读 · 0 评论 -
poj2488
水题,不解释。。。 #include #include using namespace std; int dir[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}}; int N,p,q; int visited[27][27]; struct Node{ int x,y; }; Node nd[28]; bo原创 2015-10-11 01:56:25 · 527 阅读 · 0 评论