Cod sursa(job #275541)

Utilizator DrakeDemonSebestin Dragos DrakeDemon Data 10 martie 2009 15:37:06
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>

int s[20];
int n,k;

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

int cond(int k){
int i;
for(i=1;i<k;i++)
	if(s[i]==s[k])
		return 0;
return 1;
}

void sol(){
int i;
for(i=1;i<=n;i++)
	fprintf(g,"%d ",s[i]);
fprintf(g,"\n");
}

int main(){


fscanf(f,"%d",&n);
fclose(f);


k = 1;
s[1] = 0;
while(k>0)
	if(s[k]<n){
		s[k]++;
		if(cond(k))
			if(k==n)
				sol();
			else   {
				k++;
				s[k] = 0;
			}
	}else
		k--;

fclose(g);
return 0;
}