Floyd™
2025-08-07 18:47:23
发布于:上海
0阅读
0回复
0点赞
#include<iostream>
long long n,m,map[1001][1001],u,v,w;
int main(){
std::cin.tie(0)->sync_with_stdio(0);
std::cout.tie(0);
std::cin >> n >> m;
for(int i(0);i<n;++i)for(int j(0);j<n;++j)if(i!=j)map[i][j]=1000000000;
while(m--)std::cin >> u >> v >> w,map[u-1][v-1]=std::min(map[u-1][v-1],w);
for(int k(0);k<n;++k)for(int i(0);i<n;++i)for(int j(0);j<n;++j)if(map[i][k]!=1000000000&&map[k][j]!=1000000000)
map[i][j] = std::min(map[i][j],map[i][k]+map[k][j]);
for(int i(0);i<n;++i)if(map[i][i]<0){
std::cout << "-1";
return 0;
}
for(int i(0);i<n;++i){
for(int j(0);j<n;++j)std::cout << map[i][j] << ' ';
std::cout << '\n';
}
return 0;
}
这里空空如也
有帮助,赞一个