POJ-2488-A Knight's Journey
来源:互联网 发布:国外什么软件看电影 编辑:程序博客网 时间:2024/06/02 03:37
DFS题
代码:
#include<cstdio>#include<cstring>#include<iostream>using namespace std;int p,q,map[9][9],use[9][9],ansx[9*9],ansy[9*9],ans,movex[8]={-1,1,-2,2,-2,2,-1,1},movey[8]={-2,-2,-1,-1,1,1,2,2};bool isborder(int x,int y){ if(x>0&&x<=p&&y>0&&y<=q)return false; return true;}bool DFS(int x,int y,int res){ if(!res) {return true; } for(int i=0;i<8;i++) {int itx=x+movex[i];int ity=y+movey[i];if(isborder(itx,ity)||use[itx][ity]) continue;use[itx][ity]=1;if(DFS(itx,ity,res-1)){ ansx[ans]=itx; ansy[ans++]=ity; return true;}use[itx][ity]=0; } return false;}int main(){ int cas,cass=1; scanf("%d",&cas); while(cas--) {ans=0;scanf("%d%d",&p,&q);int flag=0;for(int i=1;i<=p;i++){ for(int j=1;j<=q;j++) {memset(use,0,sizeof(use));use[i][j]=1;if(DFS(i,j,p*q-1)){ ansx[ans]=i; ansy[ans++]=j; flag=1; break;} } if(flag)break;}printf("Scenario #%d:\n",cass++);if(!flag) printf("impossible\n");else{ for(int i=ans-1;i>=0;i--)printf("%c%d",ansy[i]+'A'-1,ansx[i]); printf("\n");}printf("\n"); } return 0;}
- POJ 2488 A Knight's Journey
- POJ 2488 A Knight's Journey DFS
- Poj 2488 A Knight's Journey
- POJ 2488 A Knight's Journey (dfs)
- poj 2488 A Knight's Journey
- POJ 2488 A Knight's Journey
- POJ-2488-A Knight's Journey
- POJ 2488 A Knight's Journey
- poj 2488 A Knight's Journey
- poj 2488 A Knight's Journey
- POJ 2488 A Knight's Journey
- POJ 2488 A Knight's Journey
- poj 2488 A Knight's Journey
- poj 2488 A Knight's Journey
- POJ 2488 A Knight's Journey
- POJ 2488(A Knight's Journey)
- POJ 2488 A Knight's Journey
- POJ-2488-A Knight's Journey
- oracle中RowNum的学习
- 软件性能测试方法
- 激进的生活
- strust2 <s:property>字符串不换行问题解决
- Oracle的rownum研究
- POJ-2488-A Knight's Journey
- 项视图
- java
- 删除mysql重复行
- 函数fopen
- 总结ThinkPHP使用技巧经验分享(二)
- 编码,charset,乱码,unicode,utf-8与net简单释义
- 搜索特定网站
- 总结ThinkPHP使用技巧经验分享(三)