Cod sursa(job #1722079)
Utilizator | Data | 27 iunie 2016 11:11:04 | |
---|---|---|---|
Problema | 12-Perm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <cstdio>
#define MOD (1<<20)
int d[4];
int main(){
int n, i;
FILE *fin, *fout;
fin=fopen("12perm.in", "r");
fout=fopen("12perm.out", "w");
fscanf(fin, "%d", &n);
d[1]=1;
d[2]=2;
d[3]=6;
d[0]=12;
for(i=5; i<=n; i++) d[i&3]=(d[(i-1)&3]+d[(i-3)&3]+2*(i-2))&(MOD-1);
fprintf(fout, "%d\n", d[n&3]);
fclose(fin);
fclose(fout);
return 0;
}