Cod sursa(job #194043)
| Utilizator | Data | 7 iunie 2008 22:36:30 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <stdio.h>
#define N 15
#define mod 1<<20
int T[N];
int main(void){
int n,i;
int t,t1,t2,t3;
freopen("12perm.in","r",stdin);
freopen("12perm.out","w",stdout);
scanf("%d",&n);
T[1] = 1, T[2] = 2, T[3] = 6, T[4] = 12;
if (n<=4){
printf("%d ",T[n]);
return 0;
}
t1=12;t2=6;t3=2;
for (i=5;i<=n;++i){
t=t1+t3+2*(i-2);
t%=mod;
t3=t2;
t2=t1;
t1=t;
}
printf("%d",t);
return 0;
}
