Cod sursa(job #203643)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 18 august 2008 09:41:16
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>
const int p=1048575;
int n,a[4],now,prev1,prev3,i;
int main(){
    freopen("12perm.in","r",stdin);
    freopen("12perm.out","w",stdout);
    scanf("%d",&n);
    a[0]=1;
    a[1]=2;
    a[2]=6;
    a[3]=12;
    if (n<=4) {printf("%d\n",a[n-1]);return 0;}
    for (i=4;i<n;++i){
        now=i&3;
        prev1=(now+3)&3;
        prev3=(now+1)&3;
        a[now]=(a[prev1]+a[prev3]+((i-1)<<1))&p;
        }
    printf("%d",a[now]);
    return 0;
}