看着没问题啊,我都要疯啦!!!!!
  • 板块P1807 最长路
  • 楼主mediocre_
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/7/27 13:57
  • 上次更新2023/11/3 07:24:22
查看原帖
看着没问题啊,我都要疯啦!!!!!
565707
mediocre_楼主2023/7/27 13:57
#include<bits/stdc++.h>
using namespace std;
const int N = 10005;
vector <int> p[N];
queue <int> q;
int n, m, a[N][N], vis[N], ans, k;
int main() {
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= m; ++i) {
		int u, v, w;
		scanf("%d%d%d", &u, &v, &w);
		p[u].push_back(v);
		a[u][v] = w;
	} 
	q.push(1);
	while (!q.empty()) {
		int u = q.front();
		q.pop();
		if (u == n)
		    k = 1;
		for (int i = 0; i < p[u].size(); ++i) {
			int ny = p[u][i];
			if (!vis[ny]) {
			    vis[ny] = vis[u] + a[u][ny];
			    q.push(ny);
			}
		}
	}
	if (!k) printf("-1");
	else printf("%d", vis[n]);
	return 0;
}

45pts。。。

2023/7/27 13:57
加载中...