Pagini recente » Cod sursa (job #2943717) | Cod sursa (job #161559) | Cod sursa (job #1478429) | Cod sursa (job #955016) | Cod sursa (job #1104574)
#include<iostream>
using namespace std;
#include<stdio.h>
#include<stdlib.h>
FILE *f,*g;
int sol[100],n,i,num,coloana[100],linie[100];
int valid(int k)
{
if(coloana[sol[k]]==1||linie[k]==1)
return 0;
return 1;
}
int back(int k)
{
if(k==n+1)
{num++;
if(num==1)
{for(i=1;i<k;i++)
fprintf(g,"%d ",sol[i]);
fprintf(g,"\n");
}
}
else
{
sol[k]=0;
while(sol[k]<n)
{sol[k]++;
linie[k]=1;
coloana[sol[k]]=1;
if(valid(k))
back(k+1);
linie[k]=0;
coloana[sol[k]]=1;}
}
}
int main()
{
f=fopen("damesah.in","r");
g=fopen("damesah.out","w");
fscanf(f,"%d",&n);
back(1);
fprintf(g,"%d",num);
}