Pagini recente » Cod sursa (job #1871943) | Cod sursa (job #1970183) | Cod sursa (job #2237951) | Cod sursa (job #1907550) | Cod sursa (job #1224539)
#include <fstream>
#define lld long long int
using namespace std;
int N,sol[13]; lld res; bool col[20], d1[30],d2[30];
ifstream in("damesah.in");
ofstream out("damesah.out");
void solve(int lin){
if (lin>N){
res++;
if (res==1)
for (int i=1; i<lin; i++)
out << sol[i] << " ";
return;
}
for (int i=1; i<=N; i++)
if (!col[i] && !d1[N+lin-i] && !d2[lin+i-1]){
sol[lin]=i;
col[i]=d1[N+lin-i]=d2[lin+i-1]=1;
solve(lin+1);
col[i]=d1[N+lin-i]=d2[lin+i-1]=0;
}
}
int main(){
in >> N;
solve(1);
out << "\n" << res << "\n";
return 0;
}