#include <bits/stdc++.h>
using namespace std;
int n,m,t;
int a,b,c,x,y;
int dis[25003][25003];
int ma(int a,int b){
if(a>=b)return a;
else return b;
}
int main(){
cin>>n>>m>>t;
memset(dis,0x7f,sizeof(dis));
for(int i=1;i<=m;i++)cin>>a>>b>>c,dis[a][b]=c;
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(dis[i][j]>ma(dis[i][k],dis[k][j])&&ma(dis[i][k],dis[k][j])!=0x7f7f7f7f)
dis[i][j]=ma(dis[i][k],dis[k][j]);
for(int i=1;i<=t;i++){
cin>>x>>y;
if(dis[x][y]==0x7f7f7f7f)cout<<"-1\n";
else cout<<dis[x][y]<<"\n";
}
return 0;
}
全部MLE了。