水上代码。。
poj1125
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int i,j,k,n,m,a[101][101],x,y,maxn,maxm,t,tt;
int main()
{
scanf("%d",&n);
while (n!=0)
{
memset(a,63,sizeof(a));
for (i=1;i<=n;i++)
a[i][i]=0;
for (i=1;i<=n;i++)
{
scanf("%d",&m);
for (j=1;j<=m;j++)
{
scanf("%d%d",&x,&y);
a[i][x]=y;
}
}
for (k=1;k<=n;k++)
for(i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
if ((a[i][k]+a[k][j])<a[i][j])
a[i][j]=a[i][k]+a[k][j];
}
maxn=0x3f3f3f3f;
for (i=1;i<=n;i++)
{
maxm=0;
for (j=1;j<=n;j++)
{
if (a[i][j]>maxm) maxm=a[i][j];
}
if (maxm<maxn) { maxn=maxm;tt=i;}
}
printf("%d %d\n",tt,maxn);
scanf("%d",&n);
}
}
poj3615
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int i,j,k,n,m,t,a[301][301],x,y,z,a1,b1;
int main()
{
memset(a,0x7f,sizeof(a));
scanf("%d%d%d",&n,&m,&t);
for (i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
a[x][y]=z;
}
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
if (a[i][j]>max(a[i][k],a[k][j]))
a[i][j]=max(a[i][k],a[k][j]);
}
for (i=1;i<=t;i++)
{
scanf("%d%d",&a1,&b1);
if (a[a1][b1]<1000000) printf("%d\n",a[a1][b1]);
else printf("-1\n");
}
}