Cod sursa(job #178763)

Utilizator drag0shSandulescu Dragos drag0sh Data 15 aprilie 2008 09:05:24
Problema 12-Perm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <stdio.h>
FILE *f,*g;
long t[5][3000],n,i,j,ini,ant1,ant3,r;
int main(){
   f=fopen("12perm.in","r");
    g=fopen("12perm.out","w");
    fscanf(f,"%ld",&n);
    t[1][1]=1;t[2][1]=2;t[3][1]=6;t[4][1]=2;t[4][2]=1;
    t[1][0]=t[2][0]=t[3][0]=1;t[4][0]=2;
//    fprintf(g,"%d",n);
    for(j=5;j<=n;j++){
                      ant1=ini-1;
                      ini=j%4;
                      ant3=ini-3;
                      if(ini==0)ini+=4;
                      if(ant1<=0)ant1+=4;
                      if(ant3<=0)ant3+=4;
                      r=2*(j-2);
                      for(i=1; i<=t[ant1][0]||r||i<=t[ant3][0] ; i++,r/=10){
                                                                          r+=t[ant1][i]+t[ant3][i];
                                                                          t[ini][i]=r%10;
                                                                         }
                      }
   ini=n%4;
   if(ini==0)ini+=4;
   for(i=t[ini][0];i>=1;i--)fprintf(g,"%d",t[ini][i]); 
   fclose(f);
   fclose(g);
    return 0;
}