Cod sursa(job #633906)

Utilizator noobakafloFlorin eu noobakaflo Data 15 noiembrie 2011 00:45:01
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<fstream>
using namespace std;
fstream f("permutari.in",ios::in);
fstream g("permutari.out",ios::out);
int n,sol[10]; 

 
void init(int k)
{
        sol[k]=0;
}
 
int succesor(int k)
{
        if (sol[k]<n)
        { 
                sol[k]++; 
                return 1;
        }
        else 
                return 0;
}
 
int valid(int k)
{
        int ev=1;
        for(int i=1;i<=k-1;i++) 
                if(sol[k]==sol[i]) 
                        ev=0; 
        return ev;
}
 
void tipar()
{
        for(int i=1; i<=n; i++) 
                g<<sol[i]<<" ";
        g<<'\n';
}
 
void back(int k)
{ 
	if (k==n+1)
		tipar(); 
	else 
	{
		init(k); 
		while(succesor(k)) 
			if(valid(k)) 
				back(k+1); 
	}
}
 
int main()
{
        f>>n; 
        back(1); 
        
		f.close(); g.close(); 
		return 0;
}