Cod sursa(job #1028672)
| Utilizator | Data | 14 noiembrie 2013 15:44:34 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream fin ("12perm.in");
ofstream fout ("12perm.out");
int s[5] = {0, 1, 2, 6, 12}, n;
const int mod = (1 << 20);
int MOD (int x) {
while (x >= mod)
x -= mod;
return x;
}
int main() {
fin >> n;
for (int i = 5; i <= n; ++i) {
s[1] = s[2];
s[2] = s[3];
s[3] = s[4];
s[4] = MOD (s[1] + s[3] + ((i - 2) << 1));
}
fout << s[(n < 4) ? n: 4];
}
