马踏棋盘

来源:互联网 发布:声音识别算法源代码 编辑:程序博客网 时间:2024/04/30 22:24


马踏棋盘这个其实很简单,就是判断好八个方向就可以了

<span style="font-family:Microsoft YaHei;font-size:14px;">#include<stdio.h>#define N 8int qipan[N][N];int count=0;void start(int tx, int ty){    if( count>63){return;}    else{        //走过的棋盘标记起来qipan[tx][ty]=1;//输出count++;printf("%d : x=%d ,y=%d\n",count,tx,ty);//八个方向if((tx+2<8)&&(ty+1<8)&& qipan[tx+2][ty+1]!=1)        {start(tx+2, ty+1 );        }if((tx+2<8)&&(ty-1>-1) && qipan[tx+2][ty-1]!=1)        {start( tx+2, ty-1 );        }if((tx-2>-1) && (ty+1<8) && qipan[tx-2][ty+1]!=1)        {start(tx-2, ty+1 );        }if((tx-2>-1) && (ty-1>-1) && qipan[tx-2][ty-1]!=1){            start(tx-2, ty-1 );}if((tx+1<8)&&(ty+2<8)&&qipan[tx+1][ty+2]){start(tx+1, ty+2 );}if( (tx-1>0) &&(ty+2<8) &&qipan[tx-1][ty+2]!=1)        {start( tx-1, ty+2  );        }if((ty-2>-1) && (tx+1<8) && qipan[tx+1][ty-2]!=1){start(tx+1, ty-2 );}if((ty-2>-1) && (tx-1>-1) && qipan[tx-1][ty-2]!=1){            start(tx-1, ty-2 );}    }}int main(){    int i,j;    //初始化棋盘for( i=0; i<N; i++)    {for( j=0; j<N; j++)qipan[i][j]=0;    }int tx;int ty;//起始位置,没有判错处理scanf("%d%d",&tx,&ty);start(tx,ty);return 0;}</span>


0 0