Pagini recente » Cod sursa (job #1866797) | Cod sursa (job #1906798) | Cod sursa (job #1177734) | Cod sursa (job #1780057) | Cod sursa (job #2823824)
#include <bits/stdc++.h>
using namespace std;
inline void Open(const string Name) {
#ifndef ONLINE_JUDGE
(void)!freopen((Name + ".in").c_str(), "r", stdin);
(void)!freopen((Name + ".out").c_str(), "w", stdout);
#endif
}
int dp[5];
int N;
int add_(int a, int b) {
a = (a + b) & 1048575;
return a;
}
int poz(int idx) {
if(idx <= 0)
return 0;
if((idx & 3) == 0)
return 4;
return idx & 3;
}
void solve() {
cin >> N;
dp[1] = 1, dp[2] = 2, dp[3] = 6, dp[4] = 12;
for(int i = 5;i <= N;i++)
dp[poz(i)] = add_(add_(dp[poz(i - 1)], dp[poz(i - 3)]), (2 * (i - 2)) & 1048575);
cout << dp[poz(N)];
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
Open("12perm");
int T = 1;
for(;T;T--) {
solve();
}
return 0;
}