记录编号 549037 评测结果 AAAAAAAAAA
题目名称 [USACO Nov07] 奶牛跨栏 最终得分 100
用户昵称 Gravatarムラサメ 是否通过 通过
代码语言 C++ 运行时间 0.520 s
提交时间 2020-02-05 14:31:20 内存使用 14.00 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,t,f[301][301],a,b,u,v,w;//u起始站台,v终点站台,w牛栏的高度 
int main(){
	freopen("hurdles.in","r",stdin);
	freopen("hurdles.out","w",stdout);
    memset(f,127,sizeof(f));//初始化 
    cin>>n>>m>>t;
    for(int i=1;i<=m;i++){
        cin>>u>>v>>w;
        f[u][v]=w;//储存有向边 
    }
    for(int k=1;k<=n;k++){//Floyd变形 
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                f[i][j]=min(f[i][j],max(f[i][k],f[k][j]));
            }
        }
    }
    for(int i=1;i<=t;i++){//t次查询 
        cin>>a>>b;
        if(f[a][b]==f[0][0]){
        	cout<<-1<<endl;//如果不能到达就输出-1 
		}
        else{
        	cout<<f[a][b]<<endl;//不然就输出最小值
		}
    }
    return 0; 
}