0pts求助
查看原帖
0pts求助
218180
lighthouse楼主2021/12/1 19:58

#include <bits/stdc++.h>

using namespace std;

const int INF = 0x7f;

int a[10001][10001];

int n, m, s;

int main(){
	cin >> n >> m >> s;
	for(int i = 1;i <= n;i++){
		int x, y, z;
		cin >> x >> y >> z;
		a[x][y] = z;
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(i != j && a[i][j] == 0){
				a[i][j] = INF;
			}
		}
	}
	for(int k = 1;k <= n;k++){
		for(int i = 1;i <= n;i++){
			for(int j = 1;j <= n;j++){
				if(a[i][j] > a[i][k] + a[k][j]){
					a[i][j] = a[i][k] + a[k][j];
				}
			}
		}
	}
	for(int i = 1;i <= n;i++){
		cout << a[s][i] << " ";
	}
	return 0;
}

这个评测状态,我不理解

2021/12/1 19:58
加载中...