Cod sursa(job #2185637)

Utilizator CarmenRo33Anghel Ionela Carmen CarmenRo33 Data 24 martie 2018 18:35:54
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n;
int st[100];
bool succesor(int k)
{
    if(st[k]<n)
     {
         st[k]++;
         return true;
     }
     return false;
}

bool valid(int k)
{
    for(int i=1;i<k;i++)
    {
        if(st[i]==st[k])
         return false;
    }
    return true;
}
void Scrie()
{
     for(int i=1;i<=n;i++)
     fout<<st[i]<<" ";
     fout<<endl;
}
void BackT(int k)
{
  st[k]=0;
  while(succesor(k))
     if(valid(k))
      if(k==n)
        Scrie();
     else
        BackT(k+1);
}

int main()
{
    fin>>n;
    BackT(1);

    return 0;
}