Cod sursa(job #1879305)
Utilizator | Data | 14 februarie 2017 20:44:35 | |
---|---|---|---|
Problema | 12-Perm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include <cstdio>
using namespace std;
const int MOD = 1 << 20;
int T[5];
int main(){
freopen("12perm.in", "r", stdin);
freopen("12perm.out", "w", stdout);
int n;
scanf("%d", &n);
T[0] = 12; T[1] = 1; T[2] = 2; T[3] = 6;
for (int i = 5; i <= n; ++i)
T[i % 4] = (T[(i - 1) % 4] + T[(i - 3) % 4] + 2 * (i - 2)) % MOD;
printf("%d\n", T[n % 4]);
return 0;
}