Source code for titan_pylib.graph.is_bipartite_graph

[docs] 1def is_bipartite_graph(G: list[list[int]]) -> bool: 2 col = [-1] * len(G) 3 for i in range(len(G)): 4 if col[i] != -1: 5 continue 6 col[i] = 0 7 stack = [i] 8 while stack: 9 v = stack.pop() 10 cx = 1 - col[v] 11 for x in G[v]: 12 if col[x] == -1: 13 col[x] = cx 14 stack.append(x) 15 elif col[x] != cx: 16 return False 17 return False if -1 in col else True