https://www.acmicpc.net/problem/1717
해결 방법
> Disjoint set을 이용한다.
> input() 대신에 sys.stdin.readline()을 이용한다.(시간의 차이)
코드
더보기
import sys
sys.setrecursionlimit(10**6)
def find(index):
if index != data[index]:
data[index] = find(data[index])
return data[index]
def union(x,y):
data[find(y)] = find(x)
a, b = map(int, sys.stdin.readline().split())
data = list(range(a + 1))
for i in range(b):
x, y, z = map(int, sys.stdin.readline().split())
if x == 0:
union(y - 1,z - 1)
else:
if find(y-1) == find(z-1):
print("YES")
else:
print("NO")
'알고리즘' 카테고리의 다른 글
백준_9203_호텔 예약(해결 못함) (0) | 2020.02.12 |
---|---|
백준_3649_로봇 프로젝트 (0) | 2020.02.11 |
백준_15956_숏코딩(해결 못함2)... (0) | 2020.02.09 |
백준_15956_숏코딩(해결 못함) (0) | 2020.02.04 |
백준_5719_거의 최단 경로 (0) | 2020.02.03 |
댓글