#include<stdio.h>
#include<math.h>
int n=0;
int count=0;
int a[100];
int check(int i);
void Queue(int i,int n);
int main() {
char *filein="E:\\1.ini";
char *fileout="E:\\2.ini";
FILE *fpin,*fpout;
fpin=fopen(filein,"r");
fpout=fopen(fileout,"w");
fscanf(fpin,"%d",&n);
Queue(0,n);
fprintf(fpout,"%d",count);
return 0;
}
void Queue(int i,int n) {
for(int j=0;j<n;j++) {
a[i]=j;
if(check(i)==1)
if((i+1)==n) {
count++;
}
else
Queue(i+1,n);
}
}
int check(int i) {
int j;
for(j=0;j<i;j++)
if((a[i]==a[j])||(abs(j-i)==abs(a[j]-a[i])))
return 0;
return 1;
}
N皇后源代码
最新推荐文章于 2023-03-15 20:01:22 发布