Cod sursa(job #237172)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 29 decembrie 2008 03:11:16
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#include<stdlib.h>
FILE *f=fopen("dusman.in","r"),*g=fopen("dusman.out","w");
int st[1005],a[1005][1005],ut[1005],k,n,m,k1;
void read()
{
	int v1,v2;
	fscanf(f,"%d%d%d",&n,&k,&m);
	for(int i=1;i<=m;i++)
	{
		fscanf(f,"%d%d",&v1,&v2);
		a[v1][v2]=1;
		a[v2][v1]=1;
	}
}
void afisare()
{
	for(int i=1;i<=n;i++)
		fprintf(g,"%d ",st[i]);
	exit (0);
}
void back(int i)
{
	for(int pval=1;pval<=n;pval++)
	{
		if(!a[st[i-1]][pval]&&!ut[pval])
		{
			st[i]=pval;
			ut[pval]=1;
			if(i==n)
			{
				k1++;
				if(k1==k)
					afisare();
				ut[pval]=0;
			}
			else
				back(i+1),ut[pval]=0;
		}
	}
}
int main()
{
	read();
	back(1);
	return 0;
}