floyd最小环
wenge
2020-02-12 22:46:57
```cpp
for(int i=1;i<=n;i++)f[i][i]=a[i][i]=0;
ans=0x3f3f3f3f;
for(int k=1;k<=n;k++){
for(int i=1;i<k;i++){
for(int j=1;j<i;j++){
ans=min(ans,a[i][k]+a[k][j]+f[i][j]);
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
}
}
if(ans!=0x3f3f3f3f)cout<<ans;
else cout<<"No Solution.";
```