DFS
江南烟雨c
如果成功容易获得,那么你永远不知道自己的潜力有多大
展开
-
杭电1258 Sum it Up DFS 搜索
题目描述:给你一个数t作为最后等式的和,并给你一组数a[i](i例:t=4. a[]={4,3,2,2,1,1}输出 4,3+1,2+2,2+1+1解题思路:题目要求输出从大到小输出,所以可以先给所有的数进行降序排序。数据的规模很小,所以可以用暴力搜索。搜索过程中,为了避免重复输出,需要记录前一层搜索的起点,下一层递归搜索的起点不能与前一层记录的点一样#include #incl原创 2017-05-10 18:12:11 · 248 阅读 · 0 评论 -
杭电2209 翻纸牌游戏 DFS BFS 搜索
翻纸牌游戏Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3617 Accepted Submission(s): 1356Problem Description有一种纸牌游戏,很有意思,给你N张纸牌,一字排开原创 2017-05-10 14:17:59 · 272 阅读 · 0 评论 -
杭电 1181 变形课 DFS
变形课Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 18640 Accepted Submission(s): 6720Problem Description呃......变原创 2017-05-09 20:54:53 · 235 阅读 · 0 评论 -
杭电1501 Zipper DFS
题意::给三个字符串,保证第三个串长度是前两个串长度之和,确定前两个串保持原有的字母顺序能不能拼成第三个串#include #include #include using namespace std; int flag; int len1,len2,len,vis[300][600]; char str1[300],str2[300],str[600]; void原创 2017-05-09 18:29:42 · 189 阅读 · 0 评论 -
杭电1016Prime Ring Problem DFS 搜索
Prime Ring ProblemTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25200 Accepted Submission(s): 11252Problem DescriptionA rin原创 2017-05-09 08:41:17 · 187 阅读 · 0 评论 -
杭电4499 Cannon DFS 搜索
题意:就是给你一个n*m的棋盘,然后上面已经有了 棋子,并给出这些棋子的坐标,但是这些棋子是死的就是不能动,然后让你在棋盘上面摆炮,但是炮之间不能互相吃,吃的规则我们斗懂得 炮隔山打嘛,问你最多能放几个炮#include #include #define max(a,b) a>b?a:b; int mp[10][10],n,m,q,ans; int cal(int x,原创 2017-05-08 23:43:29 · 239 阅读 · 0 评论 -
杭电1078 FatMouse and Cheese DFS 记忆化搜索
记忆化搜索:空间换时间FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9950 Accepted Submission(s): 4189Problem Descript原创 2017-05-08 20:02:31 · 255 阅读 · 0 评论 -
杭电1241Oil Deposits DFS 搜索
Oil DepositsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30422 Accepted Submission(s): 17621Problem DescriptionThe GeoSurvComp原创 2017-05-08 19:49:44 · 211 阅读 · 0 评论 -
杭电1878欧拉回路 并查集 DFS
无向图欧拉回路存在的充要条件:(1)、各点连通(2)、点的度都为偶数欧拉回路Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14737 Accepted Submission(s): 5628原创 2017-05-08 19:44:39 · 249 阅读 · 0 评论 -
杭电3699A hard Aoshu Problem DFS 搜索
A hard Aoshu ProblemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 62768/32768 K (Java/Others)Total Submission(s): 1521 Accepted Submission(s): 800Problem DescriptionMath Olymp原创 2017-05-08 15:13:39 · 236 阅读 · 0 评论 -
杭电5305 Friends 搜索
题意:有n个人(n#include #include #include #include #include #include #include #include using namespace std; #define LL __int64 int f[10],on[10],off[10]; int m,n; struc原创 2017-05-08 13:07:48 · 279 阅读 · 0 评论 -
最大岛屿
最大岛屿时间限制:1000 ms | 内存限制:65535 KB难度:2描述神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。 这是一个由海洋、岛屿和海盗组成的危险世界。面对危险重重的海洋与诡谲的对手,如何凭借智慧与运气,建立起一个强大的海盗帝国。杰克船长原创 2017-05-07 10:44:16 · 227 阅读 · 0 评论 -
杭电1242-Rescue-DFS
#includeint d[4][2]={0,1,0,-1,1,0,-1,0},p,n,m;char a[310][310],b[310][310];void dfs(int x,int y,int s){ int i,tx,ty; if(a[x][y]=='r') { if(s<p)p=s; return; } for(i=0;i<4;i++) { tx=x+d[原创 2017-05-07 17:36:48 · 266 阅读 · 0 评论 -
杭电4403 A very hard Aoshu problem DFS
A very hard Aoshu problemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1595 Accepted Submission(s): 1095Problem DescriptionAosh原创 2017-05-08 18:35:10 · 225 阅读 · 0 评论 -
POJ 1129 Channel Allocation 涂色问题 DFS 回溯 搜索
题意:构图,如果两点互相影响,则连接一条边。剩下的就是图着色问题,相连的点不能用同一种颜色,问最少需要多少颜色。写法一:0ms#include using namespace std; bool map[26][26]; int n,ans; int color[26]; bool check(int position,int color_index)原创 2017-05-10 23:40:53 · 649 阅读 · 0 评论 -
POJ3256 Cow Picnic DFS搜索
题意:给你N块地,然后给出M头牛,在给出这N块地的相连情况。现在这M头牛要聚会,问可以有多少块地可以被选作聚会地点#include #include using namespace std;const int MAXN=1005;bool mp[MAXN][MAXN];int mark[MAXN];int unite[MAXN];int k,n,m;int vis[原创 2017-05-11 15:45:53 · 224 阅读 · 0 评论 -
POJ 1270 Following Orders DFS 搜索
题意: 输入数据有两行,第一行给你由26个单个小写字母表示的变量,第二行给出成对的变量如(x,y),表示x要在y前面.然后要你输出所有可能的变量序列且满足第二行的顺序约束.如果存在多解,按字典序从小到大输出所有结果.#include #include using namespace std; const int maxn=30; const int m原创 2017-05-11 17:31:20 · 204 阅读 · 0 评论 -
POJ 1950 Dessert DFS 搜索
题意:输入n(1 1011)#includeusing namespace std;const int Max = 16;int n,num; // num记录可能得情况数。char symbol[Max]; void print(){ int i; for(i = 1; i < n; i ++) printf("%d %c ", i, symb原创 2017-05-11 16:59:59 · 171 阅读 · 0 评论 -
杭电 3368 Recersi DFS 搜索
题意:题意:给出了一个棋盘的状态,现在放一颗黑棋,问最多能把多少颗白旗翻转了,翻转的规则是:这颗黑棋和另一颗黑棋连线之间都是白旗,则这些白旗都能被翻转.思路: 找到空位,沿着一个方向开始一直搜素#include #include int d[8][2]={-1,0, -1,1, 0,1, 1,1, 1,0, 1,-1, 0,-1, -1,-1原创 2017-05-10 17:14:00 · 272 阅读 · 0 评论