poj2488
来源:互联网 发布:淘宝运营要会什么 编辑:程序博客网 时间:2024/05/21 17:47
https://vjudge.net/problem/15199/origin
超经典深搜题,需要注意的是搜索的顺序
上代码:
#include<iostream>#include<cstdio>#include<cstring>#include<string>int n1,n2;int vis[30][30],flag,num,xx[30],yy[30];int dir[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};using namespace std;void dfs(int x,int y,int num){ //cout<<x<<" "<<y; xx[num]=x; yy[num]=y; if(num==n1*n2){ flag=1; return; } int xxx,yyy; for(int i=0;i<8;i++){ xxx=x+dir[i][0]; yyy=y+dir[i][1]; if(xxx<1||xxx>n1||yyy<1||yyy>n2) continue; if(!flag&&!vis[xxx][yyy]){ vis[xxx][yyy]=1; dfs(xxx,yyy,num+1); vis[xxx][yyy]=0; } }}int main(){ int n; while(cin>>n){ int r=n; while(n--){ memset(vis,0,sizeof(0)); cin>>n2>>n1; flag=0; num=0; vis[1][1]=1; dfs(1,1,1); //cout<<xx[1]-'A'+1<<" "<<yy[1]<<endl; printf("Scenario #%d:\n",r-n); if(flag){ for(int i=1;i<=n1*n2;i++){ printf("%c%d",xx[i]+'A'-1,yy[i]); } } else printf("impossible"); printf(n==0?"\n":"\n\n"); } } return 0;}
0 0
- poj2488
- POJ2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- Poj2488
- poj2488
- poj2488
- poj2488
- poj2488
- POJ2488
- BZOJ1014 火星人prefix (splay 哈希 二分答案)
- Android微信sdk更新成Gradle引入遇到的问题
- Java 反射技术的基本用法
- Java打印整数的二进制表示(代码与解析)
- 【解决】deepin系统无法显示文件夹图标
- poj2488
- 基于restful 风格的Echart图标系统续
- Scala之匿名内部类
- HDU
- Java注解
- 再探win32绘制正弦图像的最优雅方法:DPtoLP
- 细说JDK动态代理的实现原理
- 接口
- 前端页面和数据库同步进行增删改查