タプルのアンパッキング

これまでに見たように、タプルは複数の変数に展開する際に非常に便利です:

person = ('Mary', 20, 180)
name, age, height = person
print(name)    # Mary
print(age)     # 20
print(height)  # 180

これは、変数の値を入れ替えるときにも非常に役立ちます:

n1 = 'Anna'
n2 = 'Mary'
n1, n2 = n2, n1
print(n1)   # Mary
print(n2)   # Anna

課題

n個の数字からなるリストが与えられ、これらに対してo回の操作を行います。各操作は2つの数字を交換することです。2つのインデックスが与えられ、その位置にある値を互いに入れ替えます。最後に、結果のリストを出力してください。

入力の最初の行には、2つの整数noが含まれます。これはリストの要素数と操作の回数を表しています。次の行には、スペースで区切られたn個の整数が含まれます。続くo行には、各行にスペースで区切られた2つの整数が含まれています。これは交換するインデックスを示しています。

プログラムは、スペースで区切られた結果の数字のリストを出力する必要があります。

入力

出力

5 2
5 6 7 8 9
0 2
1 3

7 8 5 6 9

解説:

  1. 最初の状態 - 5 6 7 8 9

  2. 最初の操作後 - 7 6 5 8 9

  3. 2回目の操作後 - 7 8 5 6 9

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue