当前位置: 代码迷 >> 综合 >> POJ - 3615 (变形的Flody)
  详细解决方案

POJ - 3615 (变形的Flody)

热度:46   发布时间:2023-11-25 08:40:54.0

POJ - 3615

奶牛每次跳的最大高度最小,这道题用cin,cout会超时,scanf,printf更适合这个题。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 305, INF = 0x3f3f3f3f;
int n,m,t,e[N][N];
void floyd()
{
    for(int k=1;k<=n;k++)	for(int i=1;i<=n;i++)if(e[i][k]!=INF)for(int j=1;j<=n;j++)e[i][j]=min(e[i][j],max(e[i][k],e[k][j]));
}int main()
{
    scanf("%d%d%d",&n,&m,&t);memset(e,INF,sizeof e);int a,b,c;while(m--) {
    scanf("%d%d%d",&a,&b,&c);e[a][b]=c;}floyd();while(t--){
    scanf("%d%d",&a,&b);if(a==b) printf("0\n");else if(e[a][b]==INF) printf("-1\n");else printf("%d\n",e[a][b]);}return 0;
}