Статья Автор: Черединкин Глеб

v

def bfs():
    while que:
        x = que.pop(0)
        for i in arr[x]:
            if visited[i] == 0:
                visited[i] = 1
                que.append(i)
                time[i] = time[x] + 1


n = int(input())
arr = [set() for i in range(n)]
visited = [0] * n
time = [0] * n
que = [0]
for i in range(n - 1):
    a, b = map(int, input().split())
    arr[a - 1].add(b - 1)
    arr[b - 1].add(a - 1)
visited[0] = 1
bfs()
M = time.index(max(time))
visited = [0] * n
time = [0] * n
visited[M] = 1
que = [M]
bfs()
print(max(time) + 1)

def bfs(start):
    que = [start]
    while que:
        x = que.pop(0)
        for i in arr[x]:
            if visited[i] == 0:
                visited[i] = 1
                que.append(i)


n = int(input())
visited = [0] * n
arr = [set() for i in range(n)]
for i in range(n):
    L = list(map(int, input().split()))
    m = L[0]
    for j in L[1:]:
        arr[i].add(j)
visited[0] = 1
bfs(0)
if 0 in visited:
    print('False')
else:
    print('True')
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать