Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sys import setrecursionlimit
- setrecursionlimit(10001)
- n = int(input())
- graf = [[] for _ in range(n)]
- distances = [[0 for _ in range(n)] for _ in range(n)]
- visited = [False for _ in range(n)]
- maximum = 0
- for _ in range(n-1):
- a, b = map(int, input().split())
- graf[a-1].append(b-1)
- graf[b-1].append(a-1)
- def DFS(v, parent):
- global graf
- global distances
- global visited
- global maximum
- global n
- if parent != -1:
- for i in range(n):
- if visited[i]:
- distances[i][v] = distances[i][parent] + 1
- distances[v][i] = distances[parent][i] + 1
- if distances[v][i] > maximum:
- maximum = distances[v][i]
- visited[v] = True
- for neighbor in graf[v]:
- if not visited[neighbor]:
- DFS(neighbor, v)
- DFS(0, -1)
- print(maximum)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement