求助,全部 WA 掉
查看原帖
求助,全部 WA 掉
114914
一只书虫仔楼主2020/6/6 17:20
#include <bits/stdc++.h>

using namespace std;

int n, m, s, t;
int a[500086], b[500086], w[500086];
int dist[500086];
const int inf = 0x3f3f3f3f;

int main () {
	scanf("%d%d%d%d", &n, &m, &s, &t);
	for (int i = 1; i <= m; i++)
		scanf("%d%d%d", &a[i], &b[i], &w[i]);
	for (int i = 1; i <= n; i++)
		if (i == s) dist[i] = 0;
		else dist[i] = inf;
	for (int i = 1; i <= n; i++) {
		bool flag = false;
		for (int i = 1; i <= m; i++) {
			if (min(dist[a[i]] + w[i], dist[b[i]]) < dist[b[i]]) {
				dist[b[i]] = min(dist[a[i]] + w[i], dist[b[i]]);
				flag = true;
			}
		}
		if (!flag) break;
	}
	printf("%d", dist[t]);
	return 0;
}

样例也不对 …… 输出的是 33
哪位巨佬帮帮萌新啊 qwq

2020/6/6 17:20
加载中...