Pagini recente » Cod sursa (job #2507228) | Cod sursa (job #2771801) | Cod sursa (job #2770415) | Cod sursa (job #1695982) | Cod sursa (job #2596202)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,cnt,rasp[14],diagonala1[27],coloana[14],diagonala2[27];
void bkt(int poz)//poz-linia pe care vreau sa pun dama
{
if(poz==n+1)
{
cnt++;
if(cnt == 1)
{
for(int i=1;i<=n;i++)
{
g<<rasp[i]<<" ";
}
g<<"\n";
}
return;
}
for(int i=1;i<=n;i++)
{
if(coloana[i]==0 && diagonala1[poz-i+n]==0 && diagonala2[poz+i-1]==0)
{
coloana[i]=1;
diagonala1[poz-i+n]=1;
diagonala2[poz+i-1]=1;
rasp[poz]=i;
bkt(poz+1);
coloana[i]=0;
diagonala1[poz-i+n]=0;
diagonala2[poz+i-1]=0;
rasp[poz]=0;
}
}
}
int main()
{
f >> n;
bkt(1);
g<<cnt;
}