Advertisement
serega1112

Baobab

Feb 18th, 2022
1,044
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.56 KB | None | 0 0
  1. n = int(input())
  2. g = []
  3. for i in range(n):
  4.     g.append(list(map(int, input().split())))
  5.  
  6. visited = [0] * 100
  7. def dfs(node, parent):
  8.     if visited[node]:
  9.         return False
  10.     visited[node] = 1
  11.     for neigh, conn in enumerate(g[node]):
  12.         if conn and neigh != parent:
  13.             if not dfs(neigh, node):
  14.                 return False
  15.     return True
  16.  
  17. count = 0
  18. res = 'YES'
  19. for node in range(n):
  20.     if not visited[node]:
  21.         count += 1
  22.         if count > 1 or not dfs(node, -1):
  23.             res = 'NO'
  24.             break
  25.  
  26. print(res)
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement