有个问题
查看原帖
有个问题
961972
Lele_Programmer楼主2024/7/10 22:04

在判定节点是否是叶节点,为什么这样写可以:

int vis[N];

void init(int u,int fa) {
    bool ok=false;
    vis[u]=true;
    for (int i=h[u];~i;i=ne[i]) {
        if (e[i]==fa || vis[e[i]]) continue;
        init(e[i],u);
        ok=true;
    }
    if (!ok) flag[u]=true;
}

而这样就 TLE 了呢:

void init(int u,int fa) {
    bool ok=false;
    for (int i=h[u];~i;i=ne[i]) {
        if (e[i]==fa) continue;
        init(e[i],u);
        ok=true;
    }
    if (!ok) flag[u]=true;
}

感觉数据好像有环(不确定)。

2024/7/10 22:04
加载中...