Pagini recente » Cod sursa (job #1690216) | Cod sursa (job #2810192) | Cod sursa (job #1153326) | Cod sursa (job #691560) | Cod sursa (job #3303191)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int a[15][15], c[15], d[15], n, rs;
void bkt(int k)
{
for(int i = 1; i < k - 1; i++)
{
if(a[i][d[k - 1] + (k - 1- i)] == 1)
return;
if((d[k - 1] - (k - 1 - i)) > 0)
if(a[i][d[k - 1] - (k - 1 - i)] == 1)
return;
}
if(k == n+1){
rs++;
if(rs == 1){
for(int i = 1; i <= n; i++)
fout << d[i] << ' ';
fout << endl;
}
return;
}
for(int i = 1; i <= n; i++){
if(!c[i]){
c[i] = 1;
d[k] = i;
a[k][d[k]] = 1;
bkt(k + 1);
c[i] = 0;
a[k][d[k]] = 0;
}
}
}
int main()
{
fin >> n;
bkt(1);
fout << rs << '\n';
return 0;
}