E - スプリンクラー

E - スプリンクラー

O(N+M+Q)

import math
import heapq
import itertools
from functools import reduce
 
# main
def main():
    N, M, Q = list(map(int, input().split()))
    graph = []

    for y in range(0, N):
        row = []
        graph.append(row)

    for _ in range(0, M):
        u, v = list(map(int, input().split()))
        u = u - 1
        v = v - 1
        graph[u].append(v)
        graph[v].append(u)

    C = list(map(int, input().split()))

    for _ in range(0, Q):
        q = list(map(int, input().split()))

        if q[0] == 1:
            x = q[1] - 1 
            print(C[x])

            for i in graph[x]:
                C[i] = C[x]

        if q[0] == 2:
            x = q[1] - 1 
            y = q[2]
            print(C[x])
            C[x] = y

# エントリポイント
if __name__ == '__main__':
    main()