精華區beta ck54th329 關於我們 聯絡資訊
#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