結果
| 問題 | No.533 Mysterious Stairs |
| コンテスト | |
| ユーザー |
rutilicus
|
| 提出日時 | 2020-09-13 08:48:08 |
| 言語 | Kotlin (2.3.10) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 842 bytes |
| 記録 | |
| コンパイル時間 | 10,859 ms |
| コンパイル使用メモリ | 402,080 KB |
| 最終ジャッジ日時 | 2026-02-14 17:19:33 |
| 合計ジャッジ時間 | 11,707 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Main.kt:40:13: error: 'fun StringBuilder.appendln(value: Long): StringBuilder' is deprecated. Use appendLine instead. Note that the new method always appends the line feed character '\n' regardless of the system line separator.
builder.appendln((dp1[n - 1] + dp2[n - 1] + dp3[n - 1]) % mod)
^^^^^^^^
ソースコード
import kotlin.math.sqrt
fun main() {
val builder = StringBuilder()
val mod = 1000000007L
val n = readInputLine().toInt()
val dp1 = LongArray(n)
val dp2 = LongArray(n)
val dp3 = LongArray(n)
dp1[0] = 1
if (n >= 2) {
dp2[1] = 1
}
if (n >= 3) {
dp3[2] = 1
}
for (i in 1 until n) {
dp1[i] += dp2[i - 1]
dp1[i] += dp3[i - 1]
dp1[i] %= mod
if (i >= 2) {
dp2[i] += dp1[i - 2]
dp2[i] += dp3[i - 2]
dp2[i] %= mod
}
if (i >= 3) {
dp3[i] += dp1[i - 3]
dp3[i] += dp2[i - 3]
dp3[i] %= mod
}
}
builder.appendln((dp1[n - 1] + dp2[n - 1] + dp3[n - 1]) % mod)
print(builder.toString())
}
fun readInputLine(): String {
return readLine()!!
}
rutilicus