Cod sursa(job #420308)

Utilizator maditzaaciuca madalina maditzaa Data 18 martie 2010 19:11:28
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream.h>
#include <fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,p,m,k,i,j,x[1001],v[10001][1001],nr,a,b;
void tipar(int k){
	for(i=1;i<=k;i++)
		g<<x[i]<<" ";
	
}
int cont(int k){
	if(v[x[k]][x[k-1]]==1)
		return 0;
	for(i=1;i<k;i++)
		if(x[k]==x[i])
			return 0;
	return 1;
}
void back(){

	k=1;
	x[k]=0;
	while(k>0)
		if(x[k]<n){
			x[k]++;
			if(cont(k))
				if(k==n){
					nr++;
					if(nr==p)
						tipar(k);
				}
				else x[++k]=0;
		}
		else k--;
}


int main(){
	f>>n>>p>>m;
	
	for(i=1;i<=m;i++){
		f>>a>>b;
		v[a][b]=v[b][a]=1;
	}
	
	back();

	return 0;
	f.close();
	g.close();
}