Cod sursa(job #170213)

Utilizator omu_salcamtache tudor omu_salcam Data 2 aprilie 2008 15:33:44
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
FILE *f1,*f2;
long a,b,c,i,n,j,k;
int v[22];
int ok(long i){
for(j=1;j<i;j++){
	if(v[i]==v[j]){
		return 0;
	}
}
return 1;
}
void rec(long i){
	if(i!=0){
		v[i]++;
		while(!ok(i)){
			v[i]++;
		}
		if(v[i]>n){
			v[i]=0;
			rec(i-1);
		}
		else{
			if(i==k){
				if(a){
					fprintf(f2,"\n");
				}
				for(j=1;j<=k;fprintf(f2,"%d ",v[j]),j++);
				a=1;
			}
			if(i<=k){
				rec(i+1);
			}
			else{
				rec(i-1);
			}
		}
	}
}
int main(){
f1=fopen("combinari.in","r");
f2=fopen("combinari.out","w");
fscanf(f1,"%ld%ld",&n,&k);
rec(1);
return 0;
}