Cod sursa(job #971078)

Utilizator margikiMargeloiu Andrei margiki Data 8 iulie 2013 15:12:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
# include <cstdio>
using namespace std;
int n, sol[10];
void afisare ()
{
    int i;
    for (i=1; i<=n; ++i)
        printf ("%d ", sol[i]);
    printf ("\n");
}
int valid (int k)
{
    int i,ok=1;
    for (i=1; i<k; ++i)
        if (sol[i]==sol[k]) ok=0;
    return ok;
}
void back (int k)
{
    if (k==n+1) afisare ();
      else {
              sol[k]=0;
              while (sol[k]<n)
              {
                  ++sol[k];
                  if (valid (k)) back(k+1);
              }
           }
}
int main ()
{
    freopen ("permutari.in", "r", stdin);
    freopen ("permutari.out", "w", stdout);
    scanf ("%d", &n);
    back (1);
    return 0;
}