poj 2488 dfs
2015-02-04 12:42
281 查看
2015/2/4
dfs,要按字典序输出。
要用int tp[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};
不然就要全部的路径比较了。。
dfs,要按字典序输出。
要用int tp[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};
不然就要全部的路径比较了。。
#include<map> #include<queue> #include<stack> #include<cmath> #include<vector> #include<climits> #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; #define mod 10007 #define lson pos<<1,l,mid #define sc(n) scanf("%d",&n) #define rson pos<<1|1,mid+1,r #define pr(n) printf("%d\n",n) #define met(n,m) memset(n, m, sizeof(n)) #define F(x,y,i) for(int i = x;i > y; i--) #define f(x,y,i) for(int i = x;i < y; i++) #define ff(x,y,i) for(int i = x;i <= y; i++) #define FF(x,y,i) for(int i = x;i >= y; i--) const int N=100500; const int inf = INT_MAX; int Max(int a,int b) { return a>b?a:b; } int Min(int a,int b) { return a<b?a:b; } int vis[30][30]; int ans[1000][2]; int temp,cnt; int n, m, tot, x; int tp[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}}; int dfs(int i,int j) { vis[i][j] = 1; ans[cnt][0] = i; ans[cnt++][1]= j; if(cnt >= n*m)return 1; f(0,8,k) { int xx = i+tp[k][0]; int yy = j+tp[k][1]; if(xx <= n && xx >= 1 && yy <= m && yy >= 1) { if(!vis[xx][yy]) { if(dfs(xx,yy)) return 1; } } } vis[i][j] = 0; cnt--; return 0; } int main() { while(~scanf("%d",&tot)) { f(0,tot,k) { scanf("%d%d",&m,&n); temp = 0; f(1,n+1,i) { f(1,m+1,j) { cnt = 0; met(vis,0); dfs(i,j); if(cnt >= n*m) { temp = 1; break; } } if(temp)break; } printf("Scenario #%d:\n",k+1); if(!temp)printf("impossible"); else { f(0,cnt,i) { printf("%c%d",ans[i][0]-1+'A',ans[i][1]); } } printf("\n\n"); } } return 0; }
相关文章推荐
- Poj 2488 A Knight's Journey(Dfs)
- POJ 2488-A Knight's Journey(DFS)
- DFS--poj 2488
- poj 2488 dfs(骑士环游世界)
- A Knight's Journey (poj 2488 DFS)
- POJ 2488 A Knight's Journey(DFS——骑士周游问题)
- POJ 2488 DFS+记录路径 TOJ 3520 BFS+记录路径
- POJ 2488 DFS水题
- poj 2488 A Knight's Journey (dfs)
- 【DFS】poj 2488 A Knight's Journey
- POJ 2488 A Knight's Journey (DFS)
- poj 2488 A Knight's Journey 【dfs】【字典序】【刷题计划】
- A Knight's Journey (poj 2488 DFS)
- POJ 2488 A Knight's Journey (DFS)
- poj 2488 -- A Knight's Journey (DFS)
- poj-2488-water-DFS
- poj 2488 A Knight's Journey(暴力dfs 你懂的)
- poj 2488 DFS
- POJ - 2488 A Knight's Journey (DFS)
- poj 2488(DFS)