/*对马踏棋盘的一点研究*/
/* QQ:164094487 */
/* Email: fygood@163.com */
/*欢迎与我联系,讨论问题*/
/*本人先后编了两次,第二次进行了改进。改进的思想主要是注意到棋盘上每一点的下一可到达点的个数
(下称为权值)不同,对于可到达点较少(权值小)的点应该先跳上去,这样后来跳的点可跳的方向就比
较多,回溯的现象就比较少,这样就可以大幅度提高速度*/
/*第一次*/
/*原始的马踏棋盘,未加权值,有些点速度很慢*/
#include "stdio.h"
#de$ne N 8
int w=0;
int way1[8]={-2,-1,1,2, 2, 1,-1,-2};
int way2[8]={ 1,2, 2,1,-1,-2,-2,-1};
int ch[N*N]={0};
int a[N*N+1][3]={0};
int st=1;
char c='y';
void print()
{
int x,y;
printf("------%d answer----",++w);
for(x=1;x<N+1;x++)
评论0