bipartite(이분그래프) 확인하기


Last updated


Last updated
def bipartite(n, adjacent_list, start, end):
color = [-1 for _ in range(n)]
queue = list()
queue.append(start)
color[start] = BLACK
while queue:
v = queue.pop(0)
for adj_v in adjacent_list[v]:
if color[adj_v] == -1:
color[adj_v] = WHITE if color[v] == BLACK else BLACK
queue.append(adj_v)
else:
if color[adj_v] == color[v]:
return 0
return 1