zoukankan      html  css  js  c++  java
  • POJ2488

     1 #include <iostream>
    2 using namespace std;
    3 int x,y,ROW,COL,path[30];
    4 bool vis[26][26],flag;
    5 int move[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};
    6
    7 #define SIZE ROW*COL
    8
    9 void dfs(int r,int c,int dep){
    10 path[dep]=r*COL+c;
    11 vis[r][c]=true;
    12 if(dep==SIZE-1){
    13 flag=true;
    14 for(int j=0;j<SIZE;j++){
    15 printf("%c%d",char('A'+path[j]%COL),path[j]/COL+1);
    16 }
    17 printf("\n");
    18 return;
    19 }
    20 for(int i=0;i<8;i++){
    21 x=r+move[i][0];
    22 y=c+move[i][1];
    23 if(x>=0&&x<ROW&&y>=0&&y<COL){
    24 if(vis[x][y]==false)
    25 dfs(x,y,dep+1);
    26 if(flag) return; //找到一条路径后,全部回溯直至调用入口
    27 }
    28 }
    29 vis[r][c]=false;
    30 return;
    31 }
    32
    33 int main(){
    34 int i,t;
    35 scanf("%d",&t);
    36 for(i=0;i<t;i++){
    37 scanf("%d %d",&ROW,&COL);
    38 printf("Scenario #%d:\n",i+1);
    39 flag=false;
    40 memset(vis,false,sizeof(vis));
    41 dfs(0,0,0);
    42 if(!flag) printf("impossible\n");
    43 if(i!=t-1) printf("\n");
    44 }
    45 return 0;
    46 }
  • 相关阅读:
    DBC的故事
    MDF,了解一下
    PAT A 1059 Prime Factors (25分)
    素数的判断与素数表的获取
    PAT A 1014 Waiting in Line (30分)
    n皇后问题(全排列+回溯)
    最长回文子串(c++)
    传输方式的分类
    OSI模型概述
    进制转换
  • 原文地址:https://www.cnblogs.com/Seiyagoo/p/2228828.html
Copyright © 2011-2022 走看看