Cod sursa(job #116066)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 17 decembrie 2007 18:51:36
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
#include<stdlib.h>
#define maxn 1002

long sel[maxn],sol[maxn];
char v[maxn][maxn];
long n,k,m;

void back(int a)
{
	if( a == n+1)
	{
		k--;
		if( k == 0)
		{
			for( int i = 1; i <= n; ++i)
				printf("%ld ",sol[i]);
			printf("\n");
			exit(0);
		}
	}
	int i ;
	for( i = 1; i <= n ; i++)
		if( sel[i] == 0 && v[i][ sol[a-1] ] == 0)
		{
			sel[i] = 1;
			sol[a] = i;
			back(a+1);
			sel[i] = 0;
		}
}


int main()
{
	freopen("dusman.in","r",stdin);
	freopen("dusman.out","w",stdout);
	
	long a[18800],b[188000];
	scanf("%ld %ld %ld",&n,&k,&m);
	
	for( long i = 1; i <= m ; ++i)
	{
		
		scanf("%ld %ld",&a[i],&b[i]);
		v[a[i]][b[i]] = v[b[i]][a[i]] = 1;
	}
	
	back(1);
	
	
	
	
	return 0;
}