結果
問題 | No.533 Mysterious Stairs |
ユーザー |
![]() |
提出日時 | 2019-12-26 19:24:32 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 143 ms / 5,000 ms |
コード長 | 762 bytes |
コンパイル時間 | 2,236 ms |
コンパイル使用メモリ | 76,940 KB |
実行使用メモリ | 63,136 KB |
最終ジャッジ日時 | 2024-10-04 19:30:48 |
合計ジャッジ時間 | 6,282 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
import java.util.*; public class Main { static final int MOD = 1000000007; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] dp = new int[3][n + 4]; dp[0][1] = 1; dp[1][2] = 1; dp[2][3] = 1; for (int i = 1; i < n; i++) { dp[0][i + 1] += dp[1][i] + dp[2][i]; dp[0][i + 1] %= MOD; dp[1][i + 2] += dp[0][i] + dp[2][i]; dp[1][i + 2] %= MOD; dp[2][i + 3] += dp[0][i] + dp[1][i]; dp[2][i + 3] %= MOD; } int ans = 0; for (int i = 0; i < 3; i++) { ans += dp[i][n]; ans %= MOD; } System.out.println(ans); } }