A Knight's Journey
来源:互联网 发布:linux thrift源码安装 编辑:程序博客网 时间:2024/06/05 20:16
A - A Knight's Journey
dfs
代码如下:
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;const int N=30;int book[N][N];struct Node{ char x; int y;}node[N*N];int m,n;int flag;int next[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};void dfs(int x,int y,int num){ int tx,ty; if(flag) return; node[num].y=x+1; node[num].x='A'+y; if(num>=m*n) { flag=1; return; } for(int i=0;i<8;i++) { tx=x+next[i][0]; ty=y+next[i][1]; if(tx<0||tx>=m||ty<0||ty>=n) continue; if(book[tx][ty]==0) { book[tx][ty]=1; dfs(tx,ty,num+1); book[tx][ty]=0; } }}int main(){ int t; while(cin>>t) { for(int i=0;i<t;i++) { cin>>m>>n; if(i!=0) cout<<endl; printf("Scenario #%d:\n",i+1); memset(book,0,sizeof(book)); flag=0; book[0][0]=1; dfs(0,0,1); if(flag) { for(int i=1;i<=m*n;i++) cout<<node[i].x<<node[i].y; cout<<endl; } else cout<<"impossible"<<endl; } } return 0;}
阅读全文
0 0
- A Knight's Journey
- A Knight's Journey
- A knight's journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- A Knight's Journey
- pku2488 A Knight's Journey
- flowable EngineConfiguration的实现分析(2)
- 奶爸英语学习课程要点(第7课)
- 机器学习集训营---第三周总结
- SIT和UAT的区别
- RemoteCallbackList 机制分析
- A Knight's Journey
- 八、Java中的数据类型
- 基础篇一---一个服务的访问过程
- 食物链(poj--1182)
- Java中的方法以及方法重载
- 深度学习笔记---梯度消失、梯度激增
- Python勇冠排行榜首,名企大咖教你免费学
- web测试和app测试重点
- TOJ 3516.Game of Stones