对着C++代码改的,但是为什么python代码这题会RE?
查看原帖
对着C++代码改的,但是为什么python代码这题会RE?
1534447
zlj18279118766楼主2024/11/7 16:38

# 全局变量
ans = 0
# 深度优先搜索函数
def dfs(x, fa):
    global ans, e, d
    for y in e[x]:
        if y == fa:
            continue
        dfs(y, x)
        ans = max(ans, d[x] + d[y] + 1)
        d[x] = max(d[x], d[y] + 1)

# 读取输入并初始化全局变量
n = int(input())
e = [[] for _ in range(n + 1)]
d = [0] * (n + 1)  # 初始化距离数组
for _ in range(n - 1):
    a, b = map(int, input().split())
    e[a].append(b)
    e[b].append(a)

# 从节点1开始DFS
dfs(1, -1)

# 打印最长路径长度
print(ans)
2024/11/7 16:38
加载中...