Pagini recente » Monitorul de evaluare | Statistici Stefan Avram (sebyza) | Cod sursa (job #2035238) | Cod sursa (job #1287400) | Cod sursa (job #2023454)
#include <bits/stdc++.h>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int c[14], d1[14], d2[14], v[14];
int cnt,n ;
void solve( int y )
{
if ( y == n )
{
if ( !cnt )
{
for(int i=0; i<n; i++)
out << v[i] +1 << ' ';
}
cnt ++;
return;
}
for (int x=0; x<n; x++)
{
if( c[x] || d1[x+y] || d2[x-y+n+1] ) continue;
v[y]=x;
c[x] = d1[x+y] = d2[x-y+n+1]=1;
solve(y+1);
c[x] = d1[x+y] = d2[x-y+n+1]=0;
}
}
int main()
{
in >> n;
solve(0);
out << '\n' << cnt;
return 0;
}