Cod sursa(job #1155154)
Utilizator | Smarandoiu Andrei andreismara97 | Data | 26 martie 2014 18:15:41 |
---|---|---|---|
Problema | Problema Damelor | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include<fstream>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int v[15],n,nr=0;
int cont(int k)
{
for(int i=1;i<k;i++)
if(v[k]==v[i] || v[k]==v[i]+k-i || v[k]==v[i]+i-k)
return 0;
return 1;
}
void back(int k)
{
if(k==n+1)
{
nr++;
if(nr==1)
{
for(int i=1;i<=n;i++)
out<<v[i]<<' ';
out<<'\n';
}
}
else
for(int i=1;i<=n;i++)
{
v[k]=i;
if(cont(k))
back(k+1);
}
}
int main ()
{
in>>n;
back(1);
out<<nr<<'\n';
return 0;
}