我是追风者 发表于 2017-5-21 19:20:25

骑士周游

谁有比较好的骑士周游问题的算法,分享一下啊,万分感谢!!!

人造人 发表于 2017-5-21 19:33:08

http://blog.csdn.net/jiajiayouba/article/details/9293379

我是追风者 发表于 2017-5-22 07:22:22

人造人 发表于 2017-5-21 19:33
http://blog.csdn.net/jiajiayouba/article/details/9293379

这个跟小甲鱼老师的差不多啊

人造人 发表于 2017-5-22 12:21:56

我是追风者 发表于 2017-5-22 07:22
这个跟小甲鱼老师的差不多啊

fc1735 发表于 2017-5-31 00:19:06

#include<stdio.h>
#include<time.h>
#define N 8
#define M 64

int t ;
int r;

void travel(int x,int y,int n)
{
        if (r)return;
        r=n;
        if(n==M){t=1;return;}
        travel(x+1,y+2,n+1);
        if (t==1)return;
        travel(x+1,y-2,n+1);
        if (t==1)return;
        travel(x-1,y+2,n+1);
        if (t==1)return;
        travel(x-1,y-2,n+1);
        if (t==1)return;
        travel(x+2,y+1,n+1);
        if (t==1)return;
        travel(x+2,y-1,n+1);
        if (t==1)return;
        travel(x-2,y+1,n+1);
        if (t==1)return;
        travel(x-2,y-1,n+1);
        if (t==1)return;
        r=0;
        return;



}

int main()
{
        int i,j;
        clock_t in,out;

        for (i=0;i<2;i++)
        {
                for (j=0;j<N+4;j++)
                {
                        r=1;
                        r=1;
                }

        }
        for (i=N+2;i<N+4;i++)
        {
                for (j=0;j<N+4;j++)
                {
                        r=1;
                        r=1;
                }
        }


        in=clock();


        travel(2,2,1);
        out=clock();
        for (i=2;i<N+2;i++)
        {
                for (j=2;j<N+2;j++)
                {
                        printf("%2d ",r);

                }
                putchar('\n');
        }
        printf("%lf",(double)(out-in)/CLOCKS_PER_SEC);

}


前阵子写的
页: [1]
查看完整版本: 骑士周游