Skip to content

Instantly share code, notes, and snippets.

@anshumanatri
Created March 12, 2009 10:17
Show Gist options
  • Save anshumanatri/78005 to your computer and use it in GitHub Desktop.
Save anshumanatri/78005 to your computer and use it in GitHub Desktop.
#include<math.h>
int x[20],n;
int place(int k ,int i){
int j=1;
for(j=1;j<k;j++)
if(x[j]==i || abs(x[j]-i)==abs(j-k))
return 0;
return 1;
}
int nqueen(int k,int n){
int i;
for(i=1;i<=n;i++){
if(place(k,i)){
x[k]=i;
if(k==n){
int l=1;
printf("\nsolution... ");
for(l=1;l<=n;l++)
printf(" %d",x[l]);
}
else
nqueen(k+1,n);
}
}
return 0;
}
int main(){
int n=0;
printf("\n Enter the value of n.. ");
scanf("%d",&n);
if(n==2 || n==3)
printf("\n No solution...");
else
nqueen(1,n);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment