結果
| 問題 |
No.429 CupShuffle
|
| コンテスト | |
| ユーザー |
torus711
|
| 提出日時 | 2017-07-01 14:56:19 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 267 ms / 2,000 ms |
| コード長 | 607 bytes |
| コンパイル時間 | 311 ms |
| コンパイル使用メモリ | 7,296 KB |
| 実行使用メモリ | 22,656 KB |
| 最終ジャッジ日時 | 2024-10-05 03:42:48 |
| 合計ジャッジ時間 | 3,165 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
コンパイルメッセージ
Syntax OK
ソースコード
N, K, X = gets.split.map( &:to_i )
forward = Array.new( N ) { |i| i + 1 }
as = Array.new
bs = Array.new
f = true
K.times do |i|
if i + 1 == X then
gets
f = false
next
end
a, b = gets.split.map( &:to_i )
a -= 1
b -= 1
if f then
forward[a], forward[b] = forward[b], forward[a]
else
as << a
bs << b
end
end
as.reverse!
bs.reverse!
backward = gets.split.map( &:to_i )
as.length.times do |i|
backward[ as[i] ], backward[ bs[i] ] = backward[ bs[i] ], backward[ as[i] ]
end
res = Array.new
N.times do |i|
if forward[i] != backward[i]
res << i + 1
end
end
puts res.join( ' ' )
torus711