拉拉,今天无聊,装个逼,小发一文。解闷……
好了具体题目n皇后!!
代码如下:
#include<stdio.h>
#include<stdlib.h>
int n;
int ans;
int a[100];
int ok(int i){
int j;
for(j=1;j<i;j++)
if(a[i]==a[j] || i-j==abs(a[i]-a[j]))return 0;
return 1;
}
void search(int i){
int j;
for(j=1;j<=n;j++){
a[i]=j;
if(ok(i))
if(i<n)search(i+1);
else ans++;
}
}
int main(){
int i,j,k,m;
scanf("%d",&n);
search(1);
printf("%d\n",ans);
return 0;
}