728x90
import sys
from collections import deque
def bfs(x):
queue = deque([x])
color[x] = 1 #맨 처음 값 1로 칠하기
point = 2 #컬러 변수
while queue:
v = queue.popleft()
if color[v] == 1:
point = 2
else:
point = 1
for i in graph[v]:
if color[i] == 0: #방문 안했다면
color[i] = point #point로 색칠
queue.append(i)
else: #방문 했다면
if color[v] == color[i]: #색이 같아 버리면
return True
T = int(input())
for i in range(T):
n,m = map(int,input().split()) #노드, 선
graph = [[] for _ in range(n+1)]
color = [0 for _ in range(n+1)]
for j in range(m):
a,b = map(int,input().split())
graph[a].append(b)
graph[b].append(a)
for k in range(1,n+1):
if color[k] == 0: #방문 안한 노드
if bfs(k) == True:
print("impossible")
break
else:
print("possible")
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 16174번 python 풀이 - dfs (0) | 2023.04.03 |
---|---|
[백준/BOJ] - 15900번 python 풀이 - dfs (0) | 2023.04.02 |
[백준/BOJ] - 5014번 python 풀이 - bfs (0) | 2023.03.27 |
[백준/BOJ] - 2251번 python 풀이 - bfs (0) | 2023.03.21 |
[백준/BOJ] - 24230번 python 풀이 - dfs (0) | 2023.03.15 |