摘要: 题意:求连通分量的个数分析:直接用dfs,每次返回一次,sum++;View Code #include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn = 110;char str[maxn][maxn];int xx,yy;int n,m;int sum;int dir[8][2]={{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}};void dfs(int si,int sj){ str[ 阅读全文
posted @ 2013-03-27 21:48 南下的小程序员 阅读(241) 评论(0) 推荐(0)
摘要: //题意:求从@出发的连续的'.'的个数。分析:直接用dfs。感悟:我很水啊,这题敲了半天。加油啊,亲。View Code #include<cstdio>#include<cstring>#include<iostream>using namespace std;#define maxn 110int n,m;char str[maxn][maxn];int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int sum;void dfs(int s,int e){ for(int i=0;i<4;i++) 阅读全文
posted @ 2013-03-27 21:11 南下的小程序员 阅读(278) 评论(0) 推荐(0)
摘要: //题意:一只小狗要从起点S到终点D且恰好在第t秒到达,问是否可能。分析:这题关键是剪枝。剪枝技巧来自http://blog.csdn.net/zxy_snow/article/details/6177892DFS。之前一直TLE了,死活不会优化 = =。。就搜了下。那个用距离判断的我也加了,还是TLE了 = =。。学到个这个,这一句很神奇。。。if( d % 2 != (Time-t) % 2 )return ;刚才自己手动模拟了下,理解了。d是当前点与目标点的坐标差。Time-t即从当前点到达目标点需要走多少步。这两个值的奇偶性是一致的。如果中间没有墙,那么两者应该是d + x == Ti 阅读全文
posted @ 2013-03-27 17:08 南下的小程序员 阅读(187) 评论(0) 推荐(0)