马的遍历(深搜)

问题描述

#include

using namespace std;

int dx[5]={0,2,1,-1,-2};
int dy[5]={0,1,2,2,1};//增量数组
int a[1000][3];//记录路径
int m,n;
bool t; 

void printx(int tot){
    for (int i=1;i";
    cout<<"("<=0&&ik<=m&&jk>=0&&jk<=n&&t==false){
        a[step][1]=ik;
        a[step][2]=jk;//标记
        tryx(step+1);
        a[step][1]=0;
        a[step][2]=0;//回溯 
      }
    }
}

int main(){
    cin>>m>>n;
    t=false;//防止输出多条路径,需靠t停止搜索 
    a[1][1]=0;
    a[1][2]=0;//马从(0,0)出发 
    tryx(2);
    return 0;
}

你可能感兴趣的:(马的遍历(深搜))