B3647 floyd求助
  • 板块学术版
  • 楼主WD2c0mP
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/3/14 17:31
  • 上次更新2023/10/23 21:34:52
查看原帖
B3647 floyd求助
780641
WD2c0mP楼主2023/3/14 17:31
#include<bits/stdc++.h>
using namespace std;
int dis[210][210];
int main() {
	int n, m;
	cin >> n >> m;
	memset(dis, 0x3f, sizeof(dis));
	for (int i = 1; i <= m; i ++) {
		int x, y, z;
		cin >> x >> y >> z;
		dis[x][y] = z;
		dis[y][x] = z;
	}
	for (int i = 1; i <= n; i ++) {
		for (int j = 1; j <= n; j ++) {
			for (int k = 1; k <= n; k ++) {
				dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);
			}
		}
	}
	for (int i = 1; i <= n; i ++) {
		for (int j = 1; j <= n; j ++) {
			if (i != j) cout << dis[i][j] << " ";
			else cout << 0 << " ";
		}
		cout << endl;
	}
	return 0;
}
2023/3/14 17:31
加载中...