萌新求助,帮俺解答一下 评测45分
#include<bits/stdc++.h>
using namespace std;
long long n,m,a,b,v,i;
struct Qjj{long long to,value;};
vector<Qjj>maps[100005];Qjj tmp;
long long travel[10000];bool vis[10000];
void longer(int start,int l){
vis[start]=true;
for(int j=0;j<maps[start].size();j++){
if(!vis[maps[start][j].to]){travel[maps[start][j].to]=max(l+maps[start][j].value+l,travel[maps[start][j].to]);longer(maps[start][j].to,maps[start][j].value+l);}
}
}
int main(){
//freopen("path.in","r",stdin);
//freopen("path.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(i=1;i<=m;i++){cin>>a>>b>>v;tmp.to=b,tmp.value=v;maps[a].push_back(tmp);tmp.to=a;maps[b].push_back(tmp);}
longer(1,0);
if(travel[n]==0){
cout<<"-1\n";
return 0;
}
cout<<travel[n];
return 0;
}