結果
| 問題 |
No.232 めぐるはめぐる (2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-09-22 13:41:29 |
| 言語 | Scala(Beta) (3.6.2) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,243 bytes |
| コンパイル時間 | 5,552 ms |
| コンパイル使用メモリ | 222,672 KB |
| 最終ジャッジ日時 | 2024-11-14 19:15:10 |
| 合計ジャッジ時間 | 6,178 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
[31m[31m-- [E040] Syntax Error: Main.scala:36:32 ---------------------------------------[0m[0m
[31m36 |[0m [33mdef[0m [36mmain[0m([36margs[0m: [35mArray[0m[[35mString[0m]) {
[31m[31m |[0m ^[0m
[31m |[0m '=' expected, but '{' found
1 error found
ソースコード
import java.util.Scanner
import scala.annotation.tailrec
object Problem232 {
def proc(t: Int, a: Int, b: Int): List[String] = {
if (a > t || b > t) {
return List("NO")
}
if (t == 1 && a == 0 && b == 0) {
return List("NO")
}
@tailrec
def procR(t: Int, a: Int, b: Int, route: List[String]): List[String] = {
// 最短距離で進む
// 着いたら左下に戻る
// 2ターン前にあと1歩で着く場合は1歩回り道する
(t, a, b) match {
case (0, 0, 0) => route
case (_, 0, 0) => procR(t - 1, 1, 1, "<v" :: route)
case (2, 0, 1) => procR(t - 1, 1, 1, "v" :: route)
case (2, 1, 0) => procR(t - 1, 1, 1, "<" :: route)
case (2, 1, 1) => procR(t - 1, 1, 0, ">" :: route)
case (_, 0, _) => procR(t - 1, a, b - 1, ">" :: route)
case (_, _, 0) => procR(t - 1, a - 1, b, "^" :: route)
case (_, _, _) => procR(t - 1, a - 1, b - 1, "^>" :: route)
}
}
"YES" :: procR(t, a, b, List()).reverse
}
def main(args: Array[String]) {
val sc = new Scanner(System.in)
val (t, a, b) = (sc.nextInt, sc.nextInt, sc.nextInt)
val results = proc(t, a, b)
println(results.mkString("\n"))
}
}