Cod sursa(job #473372)

Utilizator bugyBogdan Vlad bugy Data 29 iulie 2010 11:29:40
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define dim  1010
int n,k,K,T,x,y,sol[dim],dusman[dim][dim],as,ev,i;
short int viz[dim];

FILE *f=fopen("dusman.in","r"), *g=fopen("dusman.out","w");


void afisare()
{
	
	int i;
	for(i=1;i<=n;i++)
		fprintf(g,"%d ",sol[i]);
	fprintf(g,"\n");
	fclose(g);
	exit(0);

}

void solve( int k )
{int i;
	if(K<0) return;
	
	if(k>n)
	{
		if(--K==0) afisare();
		return;
	}
	
	for(i=1;i<=n;i++)
	{
		if(viz[i]==0&&dusman[ sol[k-1] ][i]==0)
		{
			viz[i]=1;
			sol[k]=i;
			solve(k+1);
			
			viz[i]=0;		
		}	
	}	
}




int main()
{
	
fscanf(f,"%d %d %d ",&n,&K,&T);

for(i=1;i<=T;i++)
	{fscanf(f,"%d %d",&x,&y);

	dusman[x][y]=1;
	dusman[y][x]=1;

	}
fclose(f);

solve(1);

return 0;
}