这还是在有人指导的情况下写的,指导到一半他走了
,可以运行但是没有任何显示,有大神帮帮忙嘛
#include <iostream>
using namespace std;
const int N=8;
int a[N][N];
void show(){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++)
cout<<a[i][j]<<'\t';
cout<<endl;
}
}
void move(int m,int n,int k){
if(m<0||n<0||m>=N||n>=N)
return;
if(a[m][n]==0){
a[m][n]=k;
if(k==N*N)
show();
else{
move(m-2,n-1,k+1);
move(m-2,n+1,k+1);
move(m-1,n+2,k+1);
move(m-1,n-2,k+1);
move(m+1,n-2,k+1);
move(m+1,n+2,k+1);
move(m+2,n-1,k+1);
move(m+2,n+1,k+1);
}
a[m][n]=0;
}
else return;
}
void main()
{move(1,0,0);
}



#include <iostream>
using namespace std;
const int N=8;
int a[N][N];
void show(){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++)
cout<<a[i][j]<<'\t';
cout<<endl;
}
}
void move(int m,int n,int k){
if(m<0||n<0||m>=N||n>=N)
return;
if(a[m][n]==0){
a[m][n]=k;
if(k==N*N)
show();
else{
move(m-2,n-1,k+1);
move(m-2,n+1,k+1);
move(m-1,n+2,k+1);
move(m-1,n-2,k+1);
move(m+1,n-2,k+1);
move(m+1,n+2,k+1);
move(m+2,n-1,k+1);
move(m+2,n+1,k+1);
}
a[m][n]=0;
}
else return;
}
void main()
{move(1,0,0);
}
