Cod sursa(job #495513)
| Utilizator | Data | 25 octombrie 2010 18:35:20 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<cstdio>
#include<iostream>
using namespace std;
const int MODULO = 1048576;
int N, A[4];
void citire()
{
cin >> N;
}
void rezolva()
{
A[1] = 1; A[2] = 2; A[3] = 6;A[0] = 12;
for(int i = 5 ; i <= N ; i++)
A[i % 4] = (A[(i - 1) % 4] + A[(i - 3) % 4] + 2*(i - 2)) & (MODULO - 1);
}
void scrie()
{
printf("%d\n", A[N % 4]);
}
int main()
{
freopen("12perm.in", "r", stdin);
freopen("12perm.out", "w", stdout);
citire();
rezolva();
scrie();
return 0;
}
