文档介绍:#include<>#include<>constintNUM=8;//八皇后问题(NUM=8)staticintcount=0;voidoutput(intarray[][NUM]);//八皇后分布输出intjudge(intarray[][NUM],introw,intcolumn);//判定函数voidsearch(intarray[][NUM],introw);//搜索函数intmain(){inti,j;intbox[NUM][NUM];for(i=0;i<NUM;i++){for(j=0;j<NUM;j++)box[i][j]=0;}//output(box);search(box,0);printf("八皇后分布共有%d种。\n",count);return0;}voidoutput(intarray[][NUM]){inti,j;for(i=0;i<NUM;i++){for(j=0;j<NUM;j++){printf("%d",*(*(array+i)+j));}printf("\n");}}intjudge(intarray[][NUM],introw,intcolumn){inti,j;for(i=0;i<row;i++){for(j=0;j<NUM;j++){if(array[i][j]==1){if(j==column)return0;//判断是否在同一列if(abs(row-i)==abs(column-j))return0;//判断是否在同一斜线上}}}return1;}voidsearch(intarray[][NUM],introw){intj;//for(i=0;i<NUM;j++)//{for(j=0;j<NUM;j++){if(!judge(array,row,j)){//printf("%d",judge(array,row,j));continue;}array[row][j]=1;if(row==NUM-1){//array[row][j]=1;count++;printf("八皇后分布图:%d\n",count);output(array);array[row][j]=0;continue;}elsesearch(array,row+1);array[row][j]=0;}//}return;}