PS/Baekjoon
[λ°±μ€] 1717. μ§ν©μ νν (Python)
gimewn
2022. 10. 28. 17:15
link π https://www.acmicpc.net/problem/1717
1717λ²: μ§ν©μ νν
첫째 μ€μ n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. mμ μ λ ₯μΌλ‘ μ£Όμ΄μ§λ μ°μ°μ κ°μμ΄λ€. λ€μ mκ°μ μ€μλ κ°κ°μ μ°μ°μ΄ μ£Όμ΄μ§λ€. ν©μ§ν©μ 0 a bμ ννλ‘ μ λ ₯μ΄ μ£Όμ΄μ§λ€. μ΄λ
www.acmicpc.net
π¬ μ λμ¨ νμΈλ λ¬Έμ !
π¬ μ λμ¨ νμΈλλ₯Ό μ€λλ§μ νμ΄μ, κ°λ λΆν° λ€μ λ΄μΌ νλ€γ γ
π¬ typeμ΄ 1μΌ κ²½μ° union ν¨μ λ΄μμ YES νΉμ NOλ₯Ό ꡬλΆνλ€.
import sys
input = sys.stdin.readline
def find(n):
if parents[n] == n:
return n
parents[n] = find(parents[n])
return parents[n]
def union(type, n1, n2):
fn1 = find(n1)
fn2 = find(n2)
if type == 1:
if fn1 == fn2:
print("YES")
else:
print("NO")
else:
parents[fn2] = fn1
N, M = map(int, input().split())
parents = [num for num in range(N+1)]
for _ in range(M):
type, num1, num2 = map(int, input().split())
union(type, num1, num2)