floyd最小环

wenge

2020-02-12 22:46:57

Personal

```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."; ```