Pagini recente » Cod sursa (job #2451177) | Cod sursa (job #1402728) | Cod sursa (job #1447115) | Cod sursa (job #2093615) | Cod sursa (job #2823099)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n, nr, poz[15];
void bck(int col)
{
if(col > n)
{
nr++;
if(nr == 1)
{
for(int i=1; i<=n; i++)
g<<poz[i]<<' ';
g<<'\n';
}
return;
}
int viz[15];
memset(viz, 0, 60);
for(int i=1; i<col; i++)
{
int p = poz[i];
viz[p] = 1;
if(p-col+i >= 1)
viz[p-col+i] = 1;
if(p+col-i <= n)
viz[p+col-i] = 1;
}
for(int i=1; i<=n; i++)
if(viz[i] == 0)
{
poz[col] = i;
bck(col+1);
poz[col] = 0;
}
}
int main()
{
f>>n;
bck(1);
g<<nr;
return 0;
}