求给定起点到终点的路径中,最小边权的最大值
#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f #define ll __int64 #define mod 1000000007 using namespace std; char s1[35],s2[25],city[210][35]; int mp[210][210],n,r; void floyd() { for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) mp[i][j]=max(mp[i][j],min(mp[i][k],mp[k][j])); } int main() { int t,a,b,d,cnt,i,j; t=1; while(scanf("%d%d",&n,&r)&&(n||r)) { cnt=1; memset(mp,0,sizeof mp); for(i=1;i<=r;i++) { scanf("%s%s %d",s1,s2,&d); a=b=0; for(j=1;j