Submission #4043779


Source Code Expand

N,K,L = map(int, input().split())
p = []
q = []
for i in range(K):#h:高さ
    pi, qi = map(int, input().split())
    p.append(pi)
    q.append(qi)
r = []
s = []
for i in range(L):#h:高さ
    ri, si = map(int, input().split())
    r.append(ri)
    s.append(si)

class UnionFind:
    def __init__(self, n):
        # 親要素のノード番号を格納。par[x] == xの時そのノードは根
        self.par = [i for i in range(n+1)]
        # 木の高さを格納する(初期状態では0)
        self.rank = [0] * (n + 1)

    # 検索
    # 根ならその番号を返す
    def find(self, x):
        if self.par[x] == x:
            return x
        else:
            # 走査していく過程で親を書き換える
            self.par[x] = self.find(self.par[x])
            return self.par[x]

        # 併合
    def union(self, x, y):
        # 根を探す
        x = self.find(x)
        y = self.find(y)
        # 木の高さを比較し、低いほうから高いほうに辺を張る
        if self.rank[x] < self.rank[y]:
            self.par[x] = y
        else:
            self.par[y] = x
        # 木の高さが同じなら片方を1増やす
            if self.rank[x] == self.rank[y]:
                self.rank[x] += 1

    # 同じ集合に属するか判定
    def same_check(self, x, y):
        return self.find(x) == self.find(y)

u = UnionFind(N)
for i in range(K):
    u.union(p[i],q[i])

ansli = [1]*(N + 1)
for i in range(L):
    if u.same_check(r[i], s[i]):
        ansli[r[i]] += 1
        ansli[s[i]] += 1

for i in range(1, N + 1):
    print(ansli[i], "", end = "")

Submission Info

Submission Time
Task D - Connectivity
User yosho
Language Python (3.4.3)
Score 0
Code Size 1685 Byte
Status WA
Exec Time 1113 ms
Memory 29572 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 3
AC × 3
WA × 15
Set Name Test Cases
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 17 ms 3064 KB
subtask0_1.txt AC 17 ms 3064 KB
subtask0_2.txt AC 17 ms 3064 KB
subtask1_0.txt WA 821 ms 16816 KB
subtask1_1.txt WA 1113 ms 28980 KB
subtask1_10.txt WA 837 ms 17764 KB
subtask1_11.txt WA 1098 ms 29572 KB
subtask1_12.txt WA 1015 ms 23460 KB
subtask1_13.txt WA 976 ms 26776 KB
subtask1_14.txt WA 1026 ms 28480 KB
subtask1_2.txt WA 962 ms 21016 KB
subtask1_3.txt WA 1008 ms 27144 KB
subtask1_4.txt WA 1002 ms 28616 KB
subtask1_5.txt WA 925 ms 18168 KB
subtask1_6.txt WA 1048 ms 26384 KB
subtask1_7.txt WA 1006 ms 24052 KB
subtask1_8.txt WA 1095 ms 27852 KB
subtask1_9.txt WA 1046 ms 27224 KB