Cod sursa(job #623400)

Utilizator Balmus_MaximBalmus Maximilian Balmus_Maxim Data 19 octombrie 2011 20:52:01
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

int n,k,m,zz;
int i;
int a,b;
int v[1001][1001];
int sol[1001];
int vs[1001];

int back(int p)
{
	int ii=0;
	if(zz==k) return 0;
	if(p==n+1){
		zz++;
		if(zz==k){
			for(ii=1;ii<=n;ii++){
				printf("%d ",sol[ii]);
			}
			printf("\n");
		}
		back(p-1);
	}else{
		//printf("%d ",p);
		vs[sol[p]]=0;
		for(sol[p]++;sol[p]<=n;sol[p]++){
			if(vs[sol[p]]==0 && v[sol[p-1]][sol[p]]==0){
				vs[sol[p]]=1;
				back(p+1);
			}
		}
		sol[p]=0;
		back(p-1);
	}
}

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