結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー | くわい |
提出日時 | 2015-09-22 13:41:29 |
言語 | Scala(Beta) (3.4.0) |
結果 |
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")) } }