結果
| 問題 | 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"))
  }
}
            
            
            
        