void CMyDlg::chessBoard(int tr, int tc, int dr, int dc, int size) { if(1 == size) { return; } Sleep(1000); //覆盖L型骨牌后停顿0.01秒,以便观察 int t = this->tile++; int s = size/2; if(dr < tr+s && dc DrawSubBoard(tr+s-1,tc+s-1,m_dw,t);//递归过程中,此子棋盘中没有特殊方格,调用
骑士周游列国问题(Knight’s Tour Problem)又称跳马问题,马踏棋盘问题,或骑士漫游问题。在一张国际象棋棋盘上(8*8方格),骑士(knight,马)位于任意一个位置。问如何才能让骑士不重不漏的经过棋盘上的每个格? 本问题中已知骑士位置(m,n),其中0=<m,n<=8,要求给出骑士行走路径,路径可用8*8矩阵输出,其中值表示骑士到达此位置行走的步数(初始为1);马的行走规则是:直走或者横走一格,再斜着走一格。