大佬帮帮忙,全RE求助
查看原帖
大佬帮帮忙,全RE求助
762980
Snakeman_Juipter楼主2024/3/29 20:17
#include<bits/stdc++.h>
using namespace std;
vector<int>g[20010]; 
int vis[20010],n,l[20010];
int ans=0;
int dfs(int pos,int cost){
	for(int i=0;i<g[pos].size();i++){
		int t=g[pos][i];
		if(cost+l[t]>vis[t]){
			vis[t]=cost+l[t];
			dfs(t,cost+l[t]);
		}
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int ts;
		cin>>ts;
		cin>>l[ts];
		int t=-1;
		while(1){
			cin>>t;
			if(t==0)break;
			g[t].push_back(ts);
		}
	}
	dfs(1,l[1]);
	for(int i=1;i<=n;i++)ans=max(ans,vis[i]);
	cout<<ans;
	return 0;
}

改了好多次,还是全RE,请大佬赐教

2024/3/29 20:17
加载中...