Cod sursa(job #798813)

Utilizator Flavius94.Ianchis Flavius Flavius94. Data 17 octombrie 2012 13:03:11
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.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 i, ev=1;
    for(i=1;i<=k-1;i++)
        if(sol[k]==sol[i]) ev=0;
 return ev;
}
int solutie(int k)
{return k==n+1;}
void tipar()
{    for(int i=1;i<=n;i++)
          fout<<sol[i]<<" ";
            fout<<endl;
}
void back(int k)
{   if(solutie(k)) tipar();
 else
 {    init(k);
  while(succesor(k))
      if(valid(k)) back(k+1);
 }
}
int main()
{

 fin>>n;
 back(1);

 fin.close();
fout.close();
}