Bellman-ford板子求助awa
查看原帖
Bellman-ford板子求助awa
370648
柠檬布丁吖楼主2023/4/1 19:53

愚人节快乐awa

#include<bits/stdc++.h>

using namespace std;
int n,m,s;
const int maxn=1e5+55;
struct _g{
	int u,v,w;
}g[maxn];

int dis[maxn];

#define inf 0x3f3f3f3f
signed main(void){
	
	cin>>n>>m>>s;
	
	for(int i=1;i<=m;i++){
		cin>>g[i].u>>g[i].v>>g[i].w;
	}
	
	fill(dis+1,dis+1+n,inf);
	
	dis[s]=0;
	
	for(int i=1;i<n-1;i++){
		bool f=false;
		for(int j=1;j<=m;j++){
			int u=g[j].u,v=g[j].v,w=g[j].w;
			if(dis[u]==inf) continue;
			if(dis[v]>dis[u]+w){
				dis[v]=dis[u]+w;
				f=true;
			}
		}
		if(f){
			break;
		}
	}
	
	for(int i=1;i<=n;i++){
		cout<<dis[i]<<" ";
	}
	
	return 0;
}
2023/4/1 19:53
加载中...