Cod sursa(job #945225)

Utilizator BLz0rDospra Cristian BLz0r Data 30 aprilie 2013 23:08:27
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>
using namespace std;

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

int v[11];

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

int valid (int a){
	int i;
	for (i=1;i<a;++i){
		if(v[a]==v[i]){
			return 0;
		}
	}
	return 1;
}

int main(){
	int n,p;
	
	fscanf (f,"%d",&n);
	p=1;
	v[p]=0;
	while (p>0){
		v[p]++;
		if (v[p]<1 || v[p]>n){
			p--;
		}
		else{
			if (valid(p)){
				if (p==n){
					afisare(n);
				}
				else{
					p++;
					v[p]=0;
				}
			}
		}
		
	}
	
	
	return 0;
}