Advertisement
boris-vlasenko

Баобаб

Jul 21st, 2019
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.61 KB | None | 0 0
  1. n = int(input())
  2. a = []
  3. for i in range(n):
  4.     a.append(list(map(int,input().split())))
  5.    
  6.  
  7. def loop_exists(v,f):
  8.     visited[v] = 1
  9.     res = False
  10.     for i in range(n):
  11.         if a[v][i]:
  12.             if i != f:
  13.                 if visited[i]:
  14.                     return True
  15.                 res = loop_exists(i,v)
  16.     return res
  17.                    
  18.                
  19.  
  20. def isTree(a):
  21.     global visited
  22.     if len(a) == 1 and a[0][0] == 0:
  23.         return True
  24.     for r in range(n):
  25.         visited = [0]*n
  26.         if sum(a[r]) == 0 or loop_exists(r,-1):
  27.             return False # если есть узлы, не связанные с другими
  28.     return True
  29.  
  30. if isTree(a):
  31.     print('YES')
  32. else:
  33.     print('NO')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement