Cod sursa(job #1114046)

Utilizator robertstrecheStreche Robert robertstreche Data 21 februarie 2014 11:06:05
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

short n,k;
short sol[20];

int bun()
{
    int v[9]={0,0,0,0,0,0,0,0,0};

    for (int i=1;i<=n;i++)
     v[sol[i]]++;

   for (int i=1;i<=n;i++)
    if (v[i]!=1)
     return 0;

   return 1;
}

int tip()
{
    for (short i=1;i<=n;i++)
     g<<sol[i]<<" ";
     g<<'\n';
}

void back(short x)
{


    if (x!=n+1)
     {
         for (short i=1;i<=n;i++)
          {
              sol[x]=i;
              if (x==n && bun())
               tip();
              else
               back(x+1);
          }
     }
}

int main()
{
    f>>n;

    back(1);

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