#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include<iomanip>
using std::setw;
const int size=8;
int chessboard[size][size]={0};
int ans=0;
void nextstep(int,int,int);
int main()
{
int startpointX,startpointY;
cout<<"Please enter the start point"<<endl;
cin>>startpointX>>startpointY;
nextstep(startpointX,startpointY,1);
return 0;
}
void nextstep(int dotX,int dotY,int step)
{
if (dotX<0 || dotY <0 || dotX>=size || dotY>=size || chessboard[dotX][dotY]!=0)
return;
chessboard[dotX][dotY]=step;
nextstep(dotX-1,dotY+2,step+1);
nextstep(dotX-2,dotY+1,step+1);
nextstep(dotX-2,dotY-1,step+1);
nextstep(dotX-1,dotY-2,step+1);
nextstep(dotX+1,dotY-2,step+1);
nextstep(dotX+2,dotY-1,step+1);
nextstep(dotX+2,dotY+1,step+1);
nextstep(dotX+1,dotY+2,step+1);
if (step==size*size){
cout<<"============"<<++ans<<"============"<<endl;
for(int i=0;i<size;++i){
for(int j=0;j<size;++j){
cout<<setw(3)<<chessboard[i][j];
}
cout<<endl;
}
}
chessboard[dotX][dotY]=0;
}
--
"Poverty wants some things, luxury many, avarice all."
~Abraham Cowley, "Of Avarice"
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.224.139.5