Pagini recente » Cod sursa (job #1163727) | Cod sursa (job #2626691)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int coloana[16],rasp[16],diagonala1[29],n,cnt,diagonala2[29];
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;
}