2 条题解
-
0
重边狡猾狡猾滴
#include<bits/stdc++.h> using namespace std; long long n, m, dis[105][105]; int main(){ cin>>n>>m; memset(dis, 0x3f3f3f3f, sizeof(dis)); for(int i=1;i<=n;i++){ dis[i][i]=0; } for(int i=1;i<=m;i++){ long long u, v, w; cin>>u>>v>>w; dis[u][v] = dis[v][u] = min(dis[u][v], (long long)w); } for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(dis[i][k] != 0x3f3f3f3f && dis[k][j] != 0x3f3f3f3f &&dis[i][k]+dis[k][j]<dis[i][j])dis[i][j]=dis[i][k]+dis[k][j]; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<dis[i][j]<<" "; } cout<<endl; } }
信息
- ID
- 4663
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 28
- 已通过
- 13
- 上传者