Cod sursa(job #679986)

Utilizator Victor10Oltean Victor Victor10 Data 13 februarie 2012 22:25:35
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>

int v[20];

bool evalabil(int st, int n){
	int j;
	if(v[st]>n) return 0;
	for(j=1; j<st; ++j){
		if(v[j]==v[st]) return 0;
	}
	return 1;
}

int main(){
	
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	
	int n,i,st;
	
	scanf("%d",&n);
	
	st=1;
	while(st>0){
		v[st]++;
		if(evalabil(st, n)){
			if(st==n){
				for(i=1; i<=n; ++i)
					printf("%d ",v[i]);
				printf("\n");
			}
			else
				st++;
		}
		else
			if(v[st]>n){
				v[st]=0;
				st--;
			}
	}
}