其实不用写topo
像我这样不会topo的蒟蒻
借鉴了洛谷
#include#include using namespace std;int n,dep[100005],ans;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ int now,len,fa,last=0; scanf("%d%d%d",&now,&len,&fa); while(fa){ last=max(last,dep[fa]); scanf("%d",&fa); } dep[now]=last+len; ans=max(ans,dep[now]); } printf("%d\n",ans);}