Pagini recente » Cod sursa (job #1270874) | Cod sursa (job #1928375) | Cod sursa (job #2053919) | Cod sursa (job #2018433) | Cod sursa (job #1701070)
#include <bits/stdc++.h>
#define DIM 15
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int N,D[DIM][DIM],A[DIM],B[2*DIM],C[2*DIM],sol[DIM],nr;
void back(int k){
if(k==N+1){
if(!nr){
for(int i=1;i<=N;i++)
fout <<sol[i]<<" ";
}
nr++;
return;
}
for(int i=1;i<=N;i++)
if(!A[i] && !B[k+i-N] && !C[k-i+N]){
A[i]=B[k+i-N]=C[k-i+N]=1;
sol[k]=i;
back(k+1);
A[i]=B[k+i-N]=C[k-i+N]=0;
}
}
int main(){
fin >> N;
back(1);
fout << "\n" << nr << "\n";
fin.close();fout.close();
return 0;
}