Cod sursa(job #163348)

Utilizator nimeniaPaul Grigoras nimenia Data 22 martie 2008 00:08:01
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream.h>

ofstream g("permutari.out");

int sol[10],n;

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

void afisare(){
     for (int i=1;i<=n;i++)
         g<<sol[i]<<" ";
     g<<"\n";
	 }


int main(){
	ifstream f("permutari.in");
 
    int k,p;
    f>>n;

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


          }

   f.close();
   g.close();       

}