Advertisement

用回溯法求解八皇后问题(循环)

阅读量:

利用回溯法解决八皇后问题(循环)

2.用循环解决

复制代码
    #include <stdio.h>
    #include <stdlib.h>
    
    int a[20],n,sum;
    void output()//输出
    {
    int i,j;
    for(i = 1; i<=n; i++)
    {
        for(j = 1; j<=n; j++)
        {
           if(a[i]==j)
               printf("  Q");
           else
               printf("  *");
        }
        printf("\n");
    }
    printf("\n");
    }
    int check(int k)//检查当前位置是否可放
    {
    int i;
    for(i = 1; i<=k-1; i++)
    //abs(a[i] - a[k])==abs(i - k))用于判断当前位置是否在前面任一皇后的左下斜线或右下斜线方向
    //(a[i]==a[k])用于判断当前位置是否在前面任一皇后的正下方
        if( (abs(a[i] - a[k

全部评论 (0)

还没有任何评论哟~