Cod sursa(job #337677)

Utilizator ZethpixZethpix Zethpix Data 4 august 2009 16:26:17
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
FILE *f,*g;
long a[1002],b[1002],sol[1002],i,j,n,m,k;
long dusmani(){
	for(i=1;i<=n-1;i++)
		for(j=1;j<=m;j++)
			if(sol[i]==a[i]&&sol[i+1]==b[j])
				return 1;
	return 0;
}
void afis(){
	for(i=1;i<=n;i++)
		fprintf(g,"%ld ",sol[i]);
	fprintf(g,"\n");
}
void back(long x){
	if(x>n){
		if(!dusmani){
			k--;
			if(k==0){
				afis;
				return;
			}
		}
	}
	else
		for(i=sol[i-1]+1;i<=n;i++){
			sol[k]=i;
			back(k+1);
		}
}
int main(){
	f=fopen("dusman.in","r");
	g=fopen("dusman.out","w");
	fscanf(f,"%ld%ld%ld",&n,&k,&m);
	for(i=1;i<=m;i++)
		fscanf(f,"%ld%ld",&a[i],&b[i]);
	sol[0]=0;
	back(1);
	fclose(f);
	fclose(g);
	return 0;
}