Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1. n, m = map(int, input().split())
  2.  
  3. size = 0
  4. map_ = {}
  5. G = []
  6.  
  7.  
  8. def _pg():
  9.     global G
  10.     _l = len(str(size - 1))
  11.     _s = " " * _l + " | " + " ".join(map(lambda i: str(ri_(i)), range(size)))
  12.     print(_s)
  13.     print("-" * len(_s))
  14.     for i, row in enumerate(G):
  15.         print(ri_(i), "|", " ".join(map(str, row)))
  16.     print(map_)
  17.  
  18.  
  19. def addToMap(key):
  20.     global map_, G, size
  21.     if key in map_:
  22.         return
  23.     size += 1
  24.     idxs = map_.values() if len(map_) else (-1,)
  25.     map_[key] = max(idxs) + 1
  26.     for i in range(size - 1):
  27.         G[i].append(0)
  28.     G.append([0] * size)
  29.  
  30.  
  31. i_ = lambda key: map_[key]
  32. ri_ = lambda val: tuple(map_.keys())[tuple(map_.values()).index(val)]
  33.  
  34. for _ in range(m):
  35.     a, b = map(int, input().split())
  36.     addToMap(a)
  37.     addToMap(b)
  38.     G[i_(b)][i_(a)] = 1
  39.  
  40.  
  41. def validateTest(a, b, c):
  42.     _allZeros = lambda key: all(val == 0 for val in G[i_(key)])
  43.     _getBetter = lambda key: [ri_(i) for i, v in enumerate(G[i_(key)]) if v == 1]
  44.     if not _allZeros(a):
  45.         return False
  46.     allowedBetter = [a]
  47.     for betterFilm in _getBetter(b):
  48.         if betterFilm not in allowedBetter:
  49.             return False
  50.     allowedBetter.append(b)
  51.     for betterFilm in _getBetter(c):
  52.         if betterFilm not in allowedBetter:
  53.             return False
  54.     return True
  55.  
  56.  
  57. _pg()
  58.  
  59. for _ in range(n):
  60.     a, b, c = map(int, input().split())
  61.     print('honest' if validateTest(a, b, c) else 'liar')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement