728x90
https://www.acmicpc.net/problem/1707
from collections import deque
import sys
sys.setrecursionlimit(10**6)
k = int(sys.stdin.readline())
def dfs(start, group):
visit[start] = group
for i in graph[start]:
if not visit[i]:
a = dfs(i, -group)
if not a:
return False
elif visit[i] == visit[start]:
return False
return True
for _ in range(k):
v, e = map(int, sys.stdin.readline().split())
graph = [ [] for _ in range(v+1) ]
visit = [0] * (v+1)
for _ in range(e):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
for i in range(1, v+1):
if not visit[i]:
result = dfs(i, 1)
if not result:
break
print("YES" if result else "NO")
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 2675 파이썬(python) : 문자열 반복 - (★) (0) | 2022.07.02 |
---|---|
[백준] 17298 파이썬(python) : 오큰수 - (monotone stack 알고리즘) (0) | 2022.07.02 |
[백준] 16928 파이썬(python) : 뱀과 사다리 게임 - (★) (0) | 2022.07.01 |
[백준] 7562 파이썬(python) : 나이트의 이동 (0) | 2022.06.30 |
[백준] 1697 파이썬(python) : 숨바꼭질 - (★) (0) | 2022.06.30 |