Floyd:
#include<bits/stdc++.h>
using namespace std;
int x,y,z,g[1001][1001];
int main(){
cin>>x>>y>>z;
g[1][2]=g[2][1]=x;
g[2][3]=g[3][2]=y;
g[1][3]=g[3][1]=z;
for(int k=1;k<=3;k++){
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
}
}
}
cout<<g[1][2]<<endl<<g[2][3]<<endl<<g[1][3]<<endl;
return 0;
}
对于学最短路Floyd和Bellman−Ford的新手,这个题可以练练手。