Cod sursa(job #702579)

Utilizator robertgbrrobertgbr robertgbr Data 1 martie 2012 23:15:13
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<iostream> //permutari 1->n
#include<fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int k,n,i,sol[100];
void init(int k){
	sol[k]=0;   
}
int test(int k){
	if(sol[k]<n){ return 1;}
	else{return 0;}
}
int valid(int k){
	for(i=1;i<k;i++){
		if(sol[i]==sol[k]){
			return 0;}}
	return 1;
}
int solutie(int k){
	if(k==n){return 1;}
	else{return 0;}
}
void afis(int k){
	for(i=1;i<=n;i++){
		g<<sol[i]<<" ";}
g<<'\n';
}
void back(){
	k=1;
	init(k);
	while(k!=0){
		if(test(k)){
			sol[k]++;
			if(valid(k)){
				if(solutie(k)){
					afis(k);}
				else{k++;
				init(k);}
			}
		}
		else{k--;}
	}
}
int main(){
	f>>n;
	back();
        f.close();
        g.close();
	return 0;
}