65,211
社区成员
发帖
与我相关
我的任务
分享#include <iostream>
using namespace std;
void Move(int x,int y);
int board[8][8]={0};
int Hor[8]={2,1,-1,-2,-2,-1,1,2};
int Ver[8]={-1,-2,-2,-1,1,2,2,1};
char bu[64][10];
int buCount=0;
void main()
{
int Row,Col;
cout<<"Enter Row(0~7):";
cin>>Row;
cout<<"Enter Col(0~7):";
cin>>Col;
if(Row>7||Row<0||Col>7||Col<0)
{
cout<<"输入不正确"<<endl;
return ;
}
board[Row][Col]=1;
sprintf(bu[buCount],"%d,%d",Row,Col);
Move(Row,Col);
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
if(board[i][j]==0)
{
cout<<"周游失败"<<endl;
return;
}
cout<<"周游成功"<<endl;
for(i=0;i<64;i++)
{
if(i%8==0) cout<<endl;
cout<<bu[i]<<"\t";
}
cout<<endl;
}
void Move(int x,int y)
{
for(int i=0;i<8;i++)
{
int x1=x;
int y1=y;
x1+=Hor[i];
y1+=Ver[i];
if(x1>7||x1<0||y1>7||y1<0||board[x1][y1]==1)
{
if(i==8)
{
buCount--;
board[x][y]=0;
}
continue;
}
if(buCount++<64)
{
board[x1][y1]=1;
sprintf(bu[buCount],"%d,%d",x1,y1);
Move(x1,y1);
}
}
}