結果

問題 No.429 CupShuffle
コンテスト
ユーザー aRac
提出日時 2016-11-26 16:24:39
言語 Scala(Beta)
(3.8.1)
コンパイル:
scalac _filename_
実行:
java -cp .:/home/linuxbrew/.linuxbrew/Cellar/scala/3.8.1/libexec/maven2/org/scala-lang/scala3-library_3/3.8.1/scala3-library_3-3.8.1.jar:/home/linuxbrew/.linuxbrew/Cellar/scala/3.8.1/libexec/maven2/org/scala-lang/scala-library/3.8.1/scala-library-3.8.1.jar _class_
結果
AC  
実行時間 652 ms / 2,000 ms
コード長 739 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 7,347 ms
コンパイル使用メモリ 290,964 KB
実行使用メモリ 87,704 KB
最終ジャッジ日時 2026-03-09 14:57:29
合計ジャッジ時間 15,071 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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