백준 문제 링크
단절점과 단절선
- 모든 간선은 2개의 노드를 연결하고 있으므로,
그 간선을 제거한다면 간선이 포함된 그래프가 2개 이상으로 나뉜다.
t 가 2 이면 'yes' 를 출력한다.- 루트노드 or 리프노드는 제거해도 그래프가 2개 이상으로 나뉘지 않으므로 간선의 개수가 1개 이하인 정점은 'no' 를 출력한다.
간선의 개수가 2개 이상인 정점은 'yes' 를 출력한다.
n = int(input())
graph = [[] for _ in range(n + 1)]
for _ in range(n - 1):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
q = int(input())
for _ in range(q):
t, k = map(int, input().split())
if t == 1:
if len(graph[y]) < 2:
print('no')
else:
print('yes')
else:
print('yes')