class Solution:
def isBipartite(self, graph: List[List[int]]) -> bool:
visited = {}
def dfs(node, val):
visited[node] = val
for i in range(len(graph[node])):
if graph[node][i] not in visited:
if val == 0:
c = 1
else:
c = 0
a = dfs(graph[node][i], c)
if not a:
return False
elif val == visited[graph[node][i]]:
return False
return True
for i in range(len(graph)):
if i not in visited:
if not dfs(i, 0):
return False
return True
282A - Bit++ | 69A - Young Physicist |
1651A - Playoff | 734A - Anton and Danik |
1300B - Assigning to Classes | 1647A - Madoka and Math Dad |
710A - King Moves | 1131A - Sea Battle |
118A - String Task | 236A - Boy or Girl |
271A - Beautiful Year | 520B - Two Buttons |
231A - Team | 479C - Exams |
1030A - In Search of an Easy Problem | 158A - Next Round |
71A - Way Too Long Words | 160A - Twins |
1A - Theatre Square | 1614B - Divan and a New Project |
791A - Bear and Big Brother | 1452A - Robot Program |
344A - Magnets | 96A - Football |
702B - Powers of Two | 1036A - Function Height |
443A - Anton and Letters | 1478B - Nezzar and Lucky Number |
228A - Is your horseshoe on the other hoof | 122A - Lucky Division |