結果
問題 |
No.429 CupShuffle
|
ユーザー |
![]() |
提出日時 | 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( ' ' )