結果
問題 |
No.2002 Range Swap Query
|
ユーザー |
|
提出日時 | 2022-01-31 18:19:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 573 ms / 2,000 ms |
コード長 | 844 bytes |
コンパイル時間 | 1,717 ms |
コンパイル使用メモリ | 81,916 KB |
実行使用メモリ | 145,960 KB |
最終ジャッジ日時 | 2024-06-27 14:18:31 |
合計ジャッジ時間 | 6,917 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
import sys input = sys.stdin.buffer.readline int1 = lambda s: int(s) - 1 def main(): N, K, Q = map(int, input().split()) AB = [tuple(map(int1, input().split())) for _ in range(K)] LS = [[] for _ in range(K)] RS = [[] for _ in range(K)] ANS = [] for j in range(Q): L, R, X = map(int1, input().split()) LS[L].append(j) RS[R].append(j) ANS.append(X) P = list(range(N)) for i, (A, B) in enumerate(AB): P[A], P[B] = P[B], P[A] for j in RS[i]: ANS[j] = P[ANS[j]] P = list(range(N)) IP = list(range(N)) for i, (A, B) in enumerate(AB): for j in LS[i]: ANS[j] = IP[ANS[j]] + 1 P[A], P[B] = P[B], P[A] IP[P[A]], IP[P[B]] = IP[P[B]], IP[P[A]] print(*ANS, sep="\n") if __name__ == "__main__": main()