P1807求助
  • 板块P1807 最长路
  • 楼主aTRAVELER
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/17 10:26
  • 上次更新2023/11/2 13:19:40
查看原帖
P1807求助
1140267
aTRAVELER楼主2023/10/17 10:26

萌新求助,帮俺解答一下 评测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;
}
2023/10/17 10:26
加载中...