骑士游历(二)
问题描述:设有一个n×n的棋盘(n≤10),在棋盘上的任意一点A(x,y)有一中国象棋<马>,<马>走的规则同前,但取消<马>只能向右走的条件。试找出一条路径,使<马>不重复地走遍棋盘上的每一个点。其中左下角的坐标为(1,1)右上解的从标为(n,n)。
输入:
6
3 4
输出:(输出其中任意一种并输出到文件)
36 13 10 23 4 15
11 22 5 14 9 24
20 35 12 1 16 3
29 32 21 6 25 8
34 19 30 27 2 17
31 28 33 18 7 26
解题方法:用深搜模拟跳马,用a数组来存储方案,当马已经跳了n*n步时,输出当前方案
#include<iostream>
#include<cstdio>
using namespace std;
int n,p,n1,n2,a[12][12];
const int dx[8]={
2,1,-1,-2,-2,<