UVA208-Firetruck
摘要:题意:城市某个地方发生火灾,求消防队到该点可能的所有路径(有的街道需要修理不能经过)及总路径数.直接回溯TLE,所以需要预处理下,把与终点直接或间接相关的所有点给挑出来,然后在这个路径上进行回溯. 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define MAXN 22 5 using namespace std; 6 7 int end,route[MAXN],sum,n,m; 8 bool vis[MAXN],edge[MAXN][MAXN],conn[MAXN];
阅读全文
posted @
2011-11-05 13:49
Seiyagoo
阅读(236)
推荐(0)
POJ3278
摘要:很简单的一道广度遍历题目 1 #include <stdio.h> 2 #define up_bound 100000 3 #define down_bound 0 4 int Q[100010],dist[100010]={0}; 5 int vis[100010]={0}; 6 7 int bfs(int n,int k){ 8 int front=0,rear=1; 9 Q[front]=n;10 vis[n]=1;11 while(front<rear){12 int x=Q[front];13 if(x==k)14 ...
阅读全文
posted @
2011-11-04 21:43
Seiyagoo
阅读(375)
推荐(0)
POJ3009
摘要:题意:溜石游戏。在一给定大小的矩形冰面上,散布若干石块,给定石头的初始位置和终点,求从起点到达终点的最小步数,超过10次则视作不可达。 其中规则如下,若石头与石块有相邻则不能向该方向滑动;每次溜石只能到达有石块的地方,且将其立即敲碎;若出界则视作失败。 1 这个题比较有意思,玩过类似的游戏题目就比较好理解了,下面是我的代码(BFS求最短路径应该比较好,没试),OJ给的样例,另外自己设计了一些样例都通过了,不过还是WA。。。不解,欢迎大家指正错误! #include <iostream> 2 using namespace std; 3 int X,Y,MIN_MOVE=I...
阅读全文
posted @
2011-10-30 17:15
Seiyagoo
阅读(386)
推荐(0)
POJ2488
摘要:1 #include <iostream> 2 using namespace std; 3 int x,y,ROW,COL,path[30]; 4 bool vis[26][26],flag; 5 int move[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}}; 6 7 #define SIZE ROW*COL 8 9 void dfs(int r,int c,int dep){10 path[dep]=r*COL+c;11 vis[r][c]=true;12 if(dep...
阅读全文
posted @
2011-10-29 20:35
Seiyagoo
阅读(274)
推荐(0)