답안 #648199

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
648199 2022-10-05T17:02:19 Z beaconmc Stranded Far From Home (BOI22_island) C++14
컴파일 오류
0 ms 0 KB
def find(a):
    while cc[a] != a:
        cc[a] = cc[cc[a]]
        a = cc[a]
    return a


def union(a, b):
    aa = find(a)
    bb = find(b)
    if aa==bb: return
    if siz[aa] < sizes[bb]:
        for i in stuff[aa]:
            ans[i] = 0
        stuff[aa] = []

    if siz[bb] < sizes[aa]:
        for i in stuff[bb]:
            ans[i] = 0
        stuff[bb] = []
    
    if len(stuff[aa]) > len(stuff[bb]):
        stuff[aa],stuff[bb] = stuff[bb], stuff[aa]
    
    for i in stuff[aa]:
        stuff[bb].append(i)
        
    siz[bb] += siz[aa]

    
    cc[aa] = bb
    
    



n,m = map(int, input().split())
cc = [i for i in range(n)]
sizes = list(map(int, input().split()))

siz = list(sizes)

stuff = [[i]for i in range(n)]
ans = [1 for i in range(n)]

edges = []
for i in range(m):
    a,b = map(int, input().split())
    a-=1;b-=1
    edges.append([max(sizes[a],sizes[b]), a,b])
edges.sort()

for i in edges:
    union(i[1],i[2])
    
print("".join(map(str, ans)))

Compilation message

island.cpp:2:1: error: 'def' does not name a type
    2 | def find(a):
      | ^~~
island.cpp:50:10: error: 'b' does not name a type
   50 |     a-=1;b-=1
      |          ^