随笔分类 -  DFS

摘要:Problem : http://acm.hdu.edu.cn/showproblem.php?pid=1312简单搜索,不多说了...#includeint w,h,ans=0;char g[20][25];bool f(int x,int y){ return (x>=0 && x=0 && y<w);}void dfs(int x,int y){ ans++; g[x][y]='#'; for(int dx=-1;dx<=1;dx++) for(int dy=-1;dy<=1;dy++) if(dx==0 ^ dy= 阅读全文
posted @ 2014-02-09 19:52 Cshhr 阅读(175) 评论(0) 推荐(0)
摘要:Problem : http://acm.hdu.edu.cn/showproblem.php?pid=1258dfs简单搜索题再简单不过了,只是关键的是同样的求和序列只能算一次感觉要来做判重处理会很难过...超无聊的人才会去判重因为1#includeusing namespace std;int t,n,k,ans,cou[20];struct Num{ int v,c;//v存数列中某个数的数值,c存该数的个数}a[20];bool cmp(Num x,Num y){ return x.v>y.v;}void put(){ int sum=0; for(int i=... 阅读全文
posted @ 2014-02-08 20:26 Cshhr 阅读(466) 评论(0) 推荐(0)
摘要:Problem from:http://acm.hdu.edu.cn/showproblem.php?pid=3274从government选取的villages中任意选一个village作为树的根节点,在树上深搜此题并不用把树生成出来,把每条边以两条边(双向)的方式存入图中在图中进行深搜(每个节点只遍历一次)#include#includeconst int MAXN=1010;int head[MAXN],n,m,t,s,ans;//s在输入被选择的点的时候用,在开始深搜时,s存储的是最后一个被选择的点(作为树的根节点)bool cho[MAXN],vis[MAXN];//cho[]标记是 阅读全文
posted @ 2014-02-06 19:20 Cshhr 阅读(298) 评论(0) 推荐(0)