1 条题解
-
0
#include<bits/stdc++.h> #define ll long long using namespace std; const int N=150; int n,m,k,s,t,c[N],tot; int ans=0x3f3f3f3f; int b[N][N],f[N][N]; int main(){ cin>>n>>m; memset(b,0x3f,sizeof(b)); memset(f,0x3f,sizeof(f)); for (int i=1;i<=m;++i){ cin>>s>>t>>k; b[s][t]=b[t][s]=f[s][t]=f[t][s]=min(b[s][t],k); } for (int k=1;k<=n;++k){ for (int i=1;i<k;++i) for (int j=i+1;j<k;++j){ if (f[i][j]==0x3f3f3f3f) continue; ans=min(ans,f[i][j]+b[i][k]+b[k][j]); } for (int i=1;i<=n;++i) for (int j=i+1;j<=n;++j) f[j][i]=f[i][j]=min(f[i][j],f[i][k]+f[k][j]);; } if (ans==0x3f3f3f3f) cout<<"No solution."; else cout<<ans<<endl; }
- 1
信息
- ID
- 809
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 10
- 标签
- 递交数
- 16
- 已通过
- 1
- 上传者