結果
問題 | No.533 Mysterious Stairs |
ユーザー |
![]() |
提出日時 | 2019-07-26 19:50:03 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 20 ms / 5,000 ms |
コード長 | 543 bytes |
コンパイル時間 | 168 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 17,424 KB |
最終ジャッジ日時 | 2024-07-02 06:31:31 |
合計ジャッジ時間 | 1,266 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
// yukicoder: No.533 Mysterious Stairs // 2019.7.26 bal4u #include <stdio.h> #define MOD 1000000007 unsigned dp[1000005][4]; int main() { int i, j, k, N; unsigned ans; scanf("%d", &N); dp[0][1] = 1, dp[1][1] = 1, dp[2][2] = 1; dp[3][1] = dp[3][2] = dp[3][3] = 1; for (i = 4; i <= N; i++) { for (j = 1; j <= 3; j++) for (k = 1; k <= 3; k++) if (k != j) { dp[i][j] += dp[i-j][k]; } for (j = 1; j <= 3; j++) dp[i][j] %= MOD; } ans = 0; for (j = 1; j <= 3; j++) ans += dp[N][j]; printf("%d\n", (int)(ans % MOD)); return 0; }