显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int f[500][500];
int main()
{
freopen("hurdles.in","r",stdin);
freopen("hurdles.out","w",stdout);
int n,m,t;
int s,e,h;
memset(f,0x7f,sizeof(f));
scanf("%d%d%d",&n,&m,&t);
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&s,&e,&h);
f[s][e]=h;
}
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(f[i][k]<=2000000&&f[k][j]<=2000000)
{
f[i][j]=min(f[i][j],max(f[i][k],f[k][j]));
}
}
}
}
int x,y;
for(int i=1;i<=t;i++)
{
scanf("%d%d",&x,&y);
if(f[x][y]<=2000000) cout<<f[x][y]<<endl;
else cout<<-1<<endl;
}
return 0;
}