Решение задачи Родословная: подсчет уровней с Яндекс Контест

Без пояснения   Просмотров: 3654


В генеалогическом древе у каждого человека, кроме родоначальника, есть ровно один родитель. Каждом элементу дерева сопоставляется целое неотрицательное число, называемое высотой. У родоначальника высота равна 0, у любого другого элемента высота на 1 больше, чем у его родителя. Вам дано генеалогическое древо, определите высоту всех его элементов.


Код

n = int(input())
dict = {}
s = []
for i in range(n - 1):
    a, b = input().split()
    dict[a] = b
    if a not in s:
        s.append(a)
    if b not in s:
        s.append(b)
res = {}
for i in s:
    t = i
    k = 0
    while t in dict:
        k += 1
        t = dict[t]
    res[i] = k
for k, v in sorted(res.items()):
    print(k, v)

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет