結果
問題 | 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 1000000007unsigned 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;}