#include<bits/stdc++.h>
using namespace std;
int n,m;
int o[10005];
vector<int>g[10005];
int d[10005];
int ans[10005];
bool topu(){
queue<int>q;
for(int i=1;i<=n;i++){
if(d[i]==0)q.push(i);
}
int cnt=0;
while(!q.empty()){
int p=q.front();
q.pop();
cnt++;
ans[cnt]=p;
for(auto t:g[p]){
d[t]--;
if(d[t]==0)q.push(t);
}
}
return cnt==n;
}
int dis[10005];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
int hh,len;
cin>>hh>>len;
o[hh]=len;
int c;
cin>>c;
while(c!=0){
g[c].push_back(hh);
d[hh]++;//*这里*
cin>>c;
}
}
topu();
dis[ans[1]]=o[ans[1]];
for(int i=1;i<=n;i++){
int u=ans[i];
for(auto v:g[u]){
dis[v]=max(dis[v],dis[u]+o[v]);
}
}
int time=0;
for(int i=1;i<=n;i++){
time=max(time,dis[i]);
}
cout<<time;
return 0;
}
第40行代码为什么注释掉了也能AC?