SPFA 91pts求调
查看原帖
SPFA 91pts求调
970132
Hero_Broom楼主2024/4/5 15:51

https://www.luogu.com.cn/record/154412728

#include<bits/stdc++.h>
using namespace std;
struct edge{
	int u,w;
};
vector<edge> E[50010];
int n,m,s,t,dis[50010];
bool vis[50010];
void spfa(int s){
	for(int i=1;i<=n;i++) vis[i]=0;
	queue<int> q;
	q.push(s);
	dis[s]=0,vis[s]=1;
	while(!q.empty()){
		int t=q.front();
		q.pop();
		vis[t]=0;
		for(int i=0;i<E[t].size();i++){
			int j=E[t][i].u,k=E[t][i].w;
			if(dis[t]+k>dis[j]){
				dis[j]=dis[t]+k;
				if(!vis[j]){
					vis[j]=1;
					q.push(j);
				}
			}
		}
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1,j,k,l;i<=m;i++){
		scanf("%d%d%d",&j,&k,&l);
		E[j].push_back({k,l});
	}
	spfa(1);
	printf("%d\n",dis[n]);
}
2024/4/5 15:51
加载中...