Cod sursa(job #509780)

Utilizator DanceKrissCristian Oancea DanceKriss Data 11 decembrie 2010 18:41:14
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include<stdio.h>
#define lg 40325

using namespace std;

int  st[lg];
unsigned short int n;

void citire()
{
   freopen("permutari.in","r",stdin);
   cin>>n;
}

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

    return 1;

}

int sol(int k)
{
    if(k==n-1) return 1;
     else return 0;
}

void afish()
{
    int i;
    for(i=0;i<n;i++)
     printf("%d ",st[i]);

   printf("\n");
}

void back(int k)
{
  int i;
  for(i=1;i<=n;i++)
  {
      st[k]=i;
      if(valid(k)) if(sol(k)) afish();
                    else  back(k+1);
  }


}
int main()
{
    freopen("permutari.out","w",stdout);
    citire();
    back(0);
    return 0;
}