結果
問題 | No.533 Mysterious Stairs |
ユーザー |
![]() |
提出日時 | 2017-08-20 11:45:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 33 ms / 5,000 ms |
コード長 | 424 bytes |
コンパイル時間 | 1,567 ms |
コンパイル使用メモリ | 166,520 KB |
実行使用メモリ | 18,944 KB |
最終ジャッジ日時 | 2024-10-14 17:20:47 |
合計ジャッジ時間 | 2,595 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
#include <bits/stdc++.h> using namespace std; const int mod = 1000000007; int n, dp[1000009][4]; int main() { cin >> n; dp[0][0] = 1; for(int i = 1; i <= n; i++) { for(int j = 1; j <= i && j <= 3; j++) { for(int k = 0; k <= 3; k++) { if(j != k) { dp[i][j] += dp[i - j][k]; if(dp[i][j] >= mod) dp[i][j] -= mod; } } } } cout << (1LL * dp[n][1] + dp[n][2] + dp[n][3]) % mod << endl; return 0; }