NOIP2013货车运输。仅仅只是数据范围小了很多。

不到150s打完而且AC。

额。当然。我写的是Floyd。

写LCA的真过分。


#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 305
#define inf 0x3f3f3f3f
using namespace std;
int n,m,q;
int map[N][N];
int main()
{
// freopen("test.in","r",stdin);
int i,j,k;
int a,b,c;
scanf("%d%d%d",&n,&m,&q);
memset(map,0x3f,sizeof(map));
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&a,&b,&c);
map[a][b]=min(map[a][b],c);
}
for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++)map[i][j]=min(map[i][j],max(map[i][k],map[k][j]));
for(i=1;i<=q;i++)
{
scanf("%d%d",&a,&b);
printf("%d\n",map[a][b]<inf?map[a][b]:-1);
}
return 0;
}