Cod sursa(job #1530026)

Utilizator TimoteiCopaciu Timotei Timotei Data 21 noiembrie 2015 11:44:47
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
int n,v[10];
  ifstream f("permutari.in");
  ofstream g("permutari.out");
void afisare()
{
    for(int i=1;i<=n;i++)g<<v[i]<<" ";
    g<<"\n";
}
int valid(int k)
{
   for(int i=1;i<k;i++)
    if(v[i]==v[k])return 0;
    return 1;
}
void permut(int k)
{
    while (k>0)
    {
        if(v[k]<n)
        {
            v[k]++;
            if(valid(k))
                if(k==n)afisare();
                   else {
                    k++;
                    v[k]=0;
                   }
        }
        else k--;
    }
}
int main()
{

    f>>n;
    for(int i=1;i<=n;i++)v[i]=i;
    afisare();
    permut(n);
    return 0;
}