結果

問題 No.429 CupShuffle
ユーザー aRacaRac
提出日時 2016-11-26 16:24:39
言語 Scala(Beta)
(3.4.0)
結果
AC  
実行時間 1,426 ms / 2,000 ms
コード長 739 bytes
コンパイル時間 8,800 ms
コンパイル使用メモリ 260,788 KB
実行使用メモリ 90,008 KB
最終ジャッジ日時 2024-06-29 20:39:22
合計ジャッジ時間 27,644 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 948 ms
65,560 KB
testcase_01 AC 912 ms
65,312 KB
testcase_02 AC 924 ms
65,632 KB
testcase_03 AC 918 ms
65,400 KB
testcase_04 AC 972 ms
65,800 KB
testcase_05 AC 935 ms
65,460 KB
testcase_06 AC 967 ms
65,760 KB
testcase_07 AC 958 ms
65,792 KB
testcase_08 AC 921 ms
65,360 KB
testcase_09 AC 954 ms
65,508 KB
testcase_10 AC 1,168 ms
66,208 KB
testcase_11 AC 1,421 ms
87,580 KB
testcase_12 AC 1,405 ms
87,128 KB
testcase_13 AC 1,423 ms
90,008 KB
testcase_14 AC 1,426 ms
86,728 KB
testcase_15 AC 924 ms
65,228 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

object Main {
  def swap(n: Int, m: Int, arr: Array[Int]): Unit = {
      val tmp = arr(n)
      arr(n) = arr(m)
      arr(m) = tmp
  }

  def main(args: Array[String]) = {
    val in = io.Source.stdin.getLines.toList
    val Array(n, k, x) = in(0).split(" ").map(_.toInt)
    val pre_step = in.slice(1, x).map(_.split(" ").map(_.toInt))
    val post_step = in.slice(x+1, k+1).map(_.split(" ").map(_.toInt)).reverse
    val pre = (1 to n).toArray
    for (Array(a, b) <- pre_step) {
        swap(a-1, b-1, pre)
    }
    val post = in.last.split(" ").map(_.toInt)
    for (Array(a, b) <- post_step) {
        swap(a-1, b-1, post)
    }
    val ans = for (i <- 0 until n if pre(i) != post(i)) yield i+1
    println(ans.mkString(" "))
  }
}
0