POJ A Knight's Journey(2488) -dfs&打印路径
来源:互联网 发布:js特效 编辑:程序博客网 时间:2024/06/06 08:34
题意:一个骑士,按照“日”字走法, 问骑士能否在 p*q 的棋盘上,从某个点出发不重复走遍棋盘每个点,如果能,输出骑士每步的位置(按字典序),如果不能,则输出impossible。
题解:设A1为首位置(证明如果能走完的话,必存在一条起点为A1的路径);遍历时先选字典序最小的。
#define INF 0x7fffffff#define eps (1e-9)#define clearto(s,x) memset(s,x,sizeof(s))#define prime 999983#define maxn 100010using namespace std;typedef long long llong;int n,m,t,tot=0;int ok,stp;bool vis[30][30];int sm[30],sn[30];int dx[8]={ -2,-2,-1,-1, 1, 1, 2, 2 };int dy[8]={ -1, 1,-2, 2,-2, 2,-1, 1 };void dfs(int x,int y){ if(ok) return; stp++; sm[stp]=x; sn[stp]=y; vis[x][y]=1; if(stp==tot) { ok =1; return; } for(int i=0;i<8;i++){ int nx =x+dx[i]; int ny =y+dy[i]; if( !vis[nx][ny]&&nx>0&&ny>0&&nx<=m&&ny<=n ) { dfs(nx,ny); stp--; } } vis[x][y] =0;}int main(){ //freopen("D:\data.txt","r",stdin); int TT,tt=1,i,j,k; scanf("%d",&TT); while(tt<=TT){ clearto(vis,0); scanf("%d %d",&n,&m); //数字(1-n), 字母(1-m) ok =0; stp =0; tot =n*m; dfs(1,1); printf("Scenario #%d:\n",tt); if(ok){ for(i=1;i<=tot;i++) printf("%c%d",sm[i]+64,sn[i]); putchar(10); } else printf("impossible\n"); if(tt!=TT) printf("\n"); tt++; } return 0;}
0 0
- poj 2488 A Knight's Journey dfs加路径打印
- POJ A Knight's Journey(2488) -dfs&打印路径
- POJ 2488 A Knight's Journey (DFS + 记录路径)
- poj 2488 A Knight's Journey(dfs+记录路径)
- POJ 2488 A Knight's Journey DFS
- POJ 2488 A Knight's Journey (dfs)
- POJ 2488 A Knight's Journey(DFS)
- POJ 2488 A Knight's Journey DFS
- POJ 2488 - A Knight's Journey (DFS)
- 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 A Knight's Journey --- DFS
- poj 2488 A Knight's Journey(DFS)
- POJ-2488-A Knight's Journey-DFS
- POJ 2488 A Knight's Journey(DFS)
- 面试遇到的一些问题
- 嵌入式 libevent功能使用简介
- java.lang.NoClassDefFoundError错误的一种解决办法
- 统治世界的十大算法
- r0遍历系统进程方法总结
- POJ A Knight's Journey(2488) -dfs&打印路径
- duilib创建的窗体添加边框阴影效果
- ORACLE 查看用户密码修改时间
- poj1252Euro Efficiency
- 递归与循环的区别
- hdu 4268 Alice and Bob(multiset)
- 考试题目分析
- Android 手机定位慢的解决方法
- android 自定义控件