Cod sursa(job #1211453)

Utilizator BLz0rDospra Cristian BLz0r Data 22 iulie 2014 16:58:23
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<cstdio>
using namespace std;

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

int n,k,m,rel[1001][1001],v[1001];
bool ap[1001];

void bkt (int p){
    if (k<0) return ;

    if (p>n){
		k--;
		if (k==0){
			for (int i=1;i<=n;++i) fprintf (g,"%d ",v[i]);
		}
		return;
    }
 
    for (int i=1;i<=n;++i){
		if (!ap[i] && !rel[v[p-1]][i]){
			v[p]=i;
			ap[i]=1;
			bkt (p+1);
			ap[i]=0;
		}
	}
}

int main(){
	int x,y;
	
	fscanf (f,"%d%d%d",&n,&k,&m);
	
	for (int i=1;i<=m;++i){
		fscanf (f,"%d%d",&x,&y);
		rel[x][y]=rel[y][x]=1;
	}
	
	bkt(1);
	
	return 0;
}