此文大体从链接: 马踏棋盘的实现改编而来,感谢大佬的c++源程序。
递归求解(回溯法求解),列出所有的解,并从中找出从(2,2)位置出发的合适解:
// 以此篇文章纪念那些年的609和山建
namespace ConsoleApplication1
{
class Program
{
int[,] chessboard = new int[12, 12];
int cnt = 0; //标记马已走的方格数
int sum = 0; //标记马走完全程的具体方案数
int[,] move = {
{
2, 1 }, {
1, 2 }, {
-1, 2 }, {
-2, 1 }, {
-2, -1 }, {