#include<bits/stdc++.h>
using namespace std;
int a[101][101],n,m;
int main() {
cin>>n>>m;
memset(a,0x3f,sizeof(a));
for(int i=1; i<=n; i++) {
a[i][i]=0;
}
for(int i=1; i<=m; i++) {
int p,q,t;
cin>>p>>q>>t;
a[p][q]=t;
}
for(int k=1; k<=n; k++) { //枚举中转点
for(int i=1; i<=n; i++) { //枚举起点
for(int j=1; j<=n; j++) { //枚举终点
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
}
}
for(int i=1; i<=n; i++) { //枚举起点
for(int j=1; j<=n; j++) { //枚举终点
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
C++ Floyed算法
最新推荐文章于 2024-08-23 14:30:35 发布