90分Bellman_Ford求助!!!
查看原帖
90分Bellman_Ford求助!!!
1119132
Seleney10楼主2024/7/12 12:05
#include <bits/stdc++.h>
using namespace std;

const int INF = 0x3fffffff;
const int maxn = 2505;
const int maxm = 6205;
int n, m, s, t;
int dis[maxn];

struct edge{
	int u, v, w;
}e[maxm];

int main(){
	cin>>n>>m>>s>>t;
	for(int i=1; i<=m; i++){
		cin>>e[i].u>>e[i].v>>e[i].w;
	}
	memset(dis, 0x3f, sizeof(dis));
	dis[s] = 0;
	bool flag = false;
	for(int i=1; i<n; i++){
		flag = false;
		for(int j=0; j<m; j++){
			int u = e[j].u; int v = e[j].v;
			int w = e[j].w;
			if(dis[v] > dis[u]+w){
				dis[v] = dis[u]+w;
				flag = true;
			}
			if(dis[u] > dis[v]+w){
				dis[u] = dis[v]+w;
				flag = true;
			}
		}
		if(!flag) break;
	}
	cout<<dis[t];
	return 0;
} 

第三个点怎么都卡不过இ௰இ

求助大佬!!!

<(_ _)>
2024/7/12 12:05
加载中...