Cod sursa(job #4863)

Utilizator crawlerPuni Andrei Paul crawler Data 8 ianuarie 2007 14:47:36
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.35 kb
#include <stdio.h>

int main()
{
  register long n, v[16],mod=(1<<20)-1,i;
  
  freopen("12perm.in","r",stdin);
  freopen("12perm.out","w",stdout);

  scanf("%ld",&n);


  v[1]=1;
  v[2]=2;
  v[3]=6;
  v[4]=12;
  
  for(i=5;i<=n;++i)
   v[i&15]=(v[(i-1)&15]+v[(i-3)&15]+((i-2)<<1))&mod;

  printf("%ld",v[n&15]);


  return 0;
}