⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drohungen.c

📁 Solution to the "8 Queens Problem" (8 Damen Problem) known from Chess
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include "damen.h"

int drohungen(int damen[][N]){
    int i=0 , j=0, r=0, h=0;

    // Spaltensumme damen [i][j]
        //i=0; j=0;
        while( i < N ){
            j = 0;
            r = 0;
            while( j < N){
                 if(damen[j][i] == 1)
                    r++;

               // printf("\n--dame[i][j]: %i %i %i",i,j,damen[i][j]);

                 // Fehler?
                if( r > 1 ){

                    //puts("A fehler");
                    return 1;
                }

                j++;
            }
            i++;
        }




        // Diagonalen
        i=0;j=0;// r=0;



        int hilf_li[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // " /"
        int hilf_re[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // " \ "
        int k =0;

        while( i < N ){

            while ( j < N ){

                if(damen[i][j] == 1){

                   k = j-i+N;
                   if(k > 0){
                    hilf_re[k]++;

                        if( (hilf_re[j-i+N] >1) ){

                         return 1;
                    }
                   }
                }

               j++;

            }
            j=0;
            i++;

        }


               k =0;
               i = 0;
               j = 0;

        while( i < N ){

            while ( j < N ){

                if(damen[i][j] == 1){

                    hilf_li[i+j]++;


                    if( (hilf_li[j+i] >1) ){
                         return 1;

                   }
                }

               j++;

            }
            j=0;
            i++;

        }

return 0;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -