Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- by: senb1 aka amigo
- */
- #include <bits/stdc++.h>
- using namespace std;
- typedef unsigned long long ull;
- typedef long long ll;
- #define all(x) x.begin(), x.end()
- const ll maxn = 26;
- const ll inf = 1e9 + 6;
- const ll mod = 1000;
- int main() {
- std::ios::sync_with_stdio(0);
- std::cin.tie(0);
- int n;
- cin >> n;
- vector<vector<int>> dp(3, vector<int>(n + 1));
- dp[0][1] = 1;
- dp[0][2] = 3;
- dp[1][2] = 2;
- dp[2][2] = 1;
- for (int i = 3; i <= n; i++) {
- dp[0][i] = (dp[0][i - 1] + dp[1][i - 1] + dp[2][i - 1]) % mod;
- dp[1][i] = (dp[0][i - 1] + dp[0][i - 2]) % mod;
- dp[2][i] = dp[0][i - 1] % mod;
- }
- cout << (dp[0][n] + dp[1][n] + dp[2][n] - 1) % mod << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement