Cod sursa(job #237162)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 29 decembrie 2008 02:50:00
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
FILE *f=fopen("dusman.in","r"),*g=fopen("dusman.out","w");
int st[1001],a[100][100],k,n,m,k1,ut[1001];
void read()
{

	fscanf(f,"%d %d %d",&n,&k,&m);
	for(int i=1;i<=m;i++)
	{
		int v1,v2;
		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++)
	{
		st[i]=pval;
		if(!a[st[i-1]][st[i]]&&!ut[st[i]])
		{
			ut[st[i]]=1;
			if(i==n)
			{
				k1++;
				if(k1==k)
					afisare();
				ut[st[i]]=0;
			}
			else
				back(i+1),ut[st[i]]=0;
		}
	}
}
int main()
{
	read();
	back(1);
	return 0;
}