Description
Input
Output
Sample Input
Sample Output
#include <stdio.h> int tot,n,N,m,c[11],b[11]; void search(int cur) {if(cur==n)tot++;else for(int i=0; i<n; i++){int ok=1;c[cur]=i;for(int j=0; j<cur; j++)if(c[cur]==c[j]||cur-c[cur]==j-c[j]||cur+c[cur]==j+c[j]){ok=0;break;}if(ok)search(cur+1);} }int main() {for(n=1; n<=10; n++){tot=0;search(0);b[n]=tot;}while(scanf("%d",&N)==1&&N)printf("%d\n",b[N]);return 0; }