drohungen.c

来自「Solution to the "8 Queens Problem" (8 D」· C语言 代码 · 共 99 行

C
99
字号
#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 + =
减小字号Ctrl + -
显示快捷键?