Skip to content

Instantly share code, notes, and snippets.

@mvallebr
Created January 24, 2023 04:23
Show Gist options
  • Save mvallebr/69a60eb4e5a610ccc6a844325dd6b99f to your computer and use it in GitHub Desktop.
Save mvallebr/69a60eb4e5a610ccc6a844325dd6b99f to your computer and use it in GitHub Desktop.
from os import *
from sys import *
from collections import *
from math import *
def checkgraph(edges, n, m):
neighbors = defaultdict(set)
for node1, node2 in edges:
neighbors[node1].add(node2)
neighbors[node2].add(node1)
def dfs(root, visited):
if root in visited:
return False
visited.add(root)
for neighbor in neighbors[root]:
neighbors[neighbor].remove(root)
if not dfs(neighbor, visited):
return False
return True
visited = set()
result = dfs(edges[0][0], visited) and len(visited) == n
return result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment