Pagini recente » Cod sursa (job #718239) | Cod sursa (job #798348) | Cod sursa (job #179206) | Cod sursa (job #1270409) | Cod sursa (job #312435)
Cod sursa(job #312435)
#include <stdio.h>
int n,b=1;
int c[1001],d[1001];
bool col[1001][1001],copiei,copiek;
void afisare()
{
for(i=1;i<=n;i++)
printf("%d %d\n",i,c[i]);
}
void back(int k)
{
if(k==n+1)
{
afisare();
b=0;
return;
}
for(int i=1;i<=n;i++)
{
if(d[i])
continue;
copiei=i;
copiek=k;
while(copiei && copiek)
if(col[copiek][copiei])
continue;
c[k]=i;
d[i]=true;
col[k][i]=true;
back(k+1);
if(!b)
return;
d[i]=false;
col[k][i]=false;
}
}
int main()
{
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}