結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2020-02-27 12:12:50 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 13 ms / 1,000 ms |
コード長 | 910 bytes |
コンパイル時間 | 532 ms |
コンパイル使用メモリ | 79,628 KB |
実行使用メモリ | 14,976 KB |
最終ジャッジ日時 | 2024-10-13 15:51:22 |
合計ジャッジ時間 | 1,222 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <algorithm>#include <bitset>#include <cassert>#include <cmath>#include <ctime>#include <functional>#include <iostream>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <tuple>#include <vector>#define rep(i,n) for (int i = 0; i < (n); ++i)using namespace std;using ll = long long;using P = pair<int,int>;using namespace std;const int MOD = 1000000007; // 10^9 + 7int main() {cin.tie(0);ios::sync_with_stdio(false);int n;cin >> n;if (n == 1) {cout << 1 << endl;return 0;} else if (n == 2) {cout << 2 << endl;return 0;}int dp[3][n + 1];dp[0][2] = 1;dp[1][2] = 1;dp[2][2] = 0;for (int i = 3; i <= n; i++) {dp[0][i] = dp[2][i - 1];dp[1][i] = (dp[0][i - 1] + dp[2][i - 1]) % MOD;dp[2][i] = dp[1][i - 1];}cout << ((dp[0][n] + dp[1][n]) % MOD + dp[2][n]) % MOD << endl;}