Cod sursa(job #895954)

Utilizator tanduraDomnita Dan tandura Data 27 februarie 2013 13:12:51
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");

int n,x[10];

int valid(int k)
{
    for(int i=1;i<k;i++)
        if(x[i]==x[k])
          return 0;
    return 1;
}

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

int main()
{
    int i;
    f>>n;
    f.close();
    i=1;
    x[i]=0;
    while(i>=1)
    {
        if(x[i]<n)
        {
            x[i]++;
            if(valid(i))
              {
                  if(i==n)
                    sol();
                  else
                  {
                      i++;
                      x[i]=0;
                  }
              }

        }
        else i--;
    }
    g.close();
    return 0;
}