Cod sursa(job #578338)

Utilizator GrimpowRadu Andrei Grimpow Data 11 aprilie 2011 11:00:58
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>


int main()
{
    int n,j,i,q,a[100],v[100],ok;
    FILE *f,*g;
    f=fopen("permutari.in","rt");
    fscanf(f,"%i",&n);
    fclose(f);
    g=fopen("permutari.out","wt");

    j=1;
    for(i=0;(i!=-1||v[0]<n-1)&&j<=n;)

          {
              ok=0;
              for(q=0;q<i;q++)
                 if(a[q]==j) ok=1;
              if (ok==0) {a[i]=j; i++; v[i-1]=j; j=1;}
              else j++;

              if(i==n&&ok==0) {for(q=0;q<n;q++) fprintf(g,"%i ",a[q]); fprintf(g,"\n"); i-=2; j=v[i]+1;}
                if(j==n+1) {i-=1; j=v[i]+1; }
                if(j==n+1) {i-=1; j=v[i]+1; }


          }
   fclose(g);
   return 0;
}