题目大意
求从点1到其他点最短路的最大值。(额)
分析
随便写
c++的字符串~
c++的数组从零开始的异世界
code
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#define fo(i,a,b) for (int i=a;i<=b;i++)
#define dfo(i,a,b) for (int i=a;i>=b;i--)
using namespace std;
int f[101][101];
int n;
int main()
{
while(scanf("%d",&n)!=EOF)
{
fo(i,1,n)
fo(j,1,n)
f[i][j]=1000000;
fo(i,2,n)
{
fo(j,1,i-1)
{
char a[10];
scanf("%s",&a);
if (a[0]!='x')
f[i][j]=f[j][i]=atof(a);
}
}
fo(k,1,n)
fo(i,1,n)
fo(j,1,n)
if ((i!=j)&&(i!=k)&&(j!=k))
if (f[i][j]>f[i][k]+f[k][j])
f[i][j]=f[i][k]+f[k][j];
int num=0;
fo(j,1,n)
{
if (1==j)
continue;
num=max(num,f[1][j]);
}
printf("%d\n",num);
}
}