Cod sursa(job #551796)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 11 martie 2011 09:41:09
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream.h>
int	d[4][1001],viz[1001],c,n,m,a,b,i,x[1001],nenea;
ifstream f ("dusman.in");
ofstream g ("dusman.out");

int ver(int i, int k){
	if(x[k-1]==0)
		return 1;
	if(x[k-1]==d[1][i]||x[k-1]==d[2][i]||x[k-1]==d[3][i])
		return 0;
	return 1;
}
void back(int k){
	if(k==n+1 ){
		nenea++;
		if(nenea==c){
			for(int i=1;i<=n;i++)
				g<<x[i]<<" ";
			g<<"\n";
		}
		return;
	}
	
		
	for(int i=1;i<=n;i++){
		if(!viz[i]&&ver(i,k)){
			x[k]=i;
			viz[i]=1;				
			back(k+1);
			viz[i]=0;
			if(c==nenea)
				return;
		}
	}
		
	
	
	
}
int main (){

f>>n>>c>>m;
for(i=1;i<=m;i++){
	f>>a>>b;
	d[0][a]++;
	d[0][b]++;
	d[d[0][a]][a]=b;
	d[d[0][b]][b]=a;
}

back(1);








return 0;
}