Nu aveti permisiuni pentru a descarca fisierul grader_test10.in
Cod sursa(job #1851524)
| Utilizator | Data | 19 ianuarie 2017 20:48:12 | |
|---|---|---|---|
| Problema | Problema Damelor | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | gym_emag_avansati_2016 | Marime | 0.74 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
#define MAX_N 15
bool col[MAX_N], dp[MAX_N*2], ds[MAX_N*2];
int dame[MAX_N],rez,n;
void b(int l)
{
if(l==n+1)
{
if(rez < 1)
for(int i=1;i<=n;i++)
g<<dame[i]<<" ";
rez++;
}
else
{
for(int c=1;c<=n;c++)
{
if((!col[c]) && (!dp[c-l+n]) && (!ds[l+c]))
{
dame[l]=c;
col[c] = dp[c-l+n] = ds[l+c] = 1;
b(l+1);
col[c] = dp[c-l+n] = ds[l+c] = 0;
}
}
}
}
int main()
{
f>>n;
b(1);
g<<'\n'<<rez;
return 0;
}
