Cod sursa(job #4860)
Utilizator | Data | 8 ianuarie 2007 14:43:54 | |
---|---|---|---|
Problema | 12-Perm | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.34 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=4;i<=n;++i)
v[i&15]=(v[(i-1)&15]+v[i-3]+(i-2)<<1)&mod;
printf("%ld",v[n&15]);
return 0;
}