Cod sursa(job #312435)

Utilizator ooctavTuchila Octavian ooctav Data 5 mai 2009 23:48:51
Problema Dame Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#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;
}