zoukankan      html  css  js  c++  java
  • Poj(3615),Floyd,最大值中的最小值

    题目链接:http://poj.org/problem?id=3615

    题意:大致题意:有N个木桩,和M个木桩对之间的高度差(从x跳到y需要往上跳的高度)。从x跳跃到y的路径消耗的体力值是路径中的一个最大高度差。求一条消耗体力最小的路径。

    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    
    using namespace std;
    
    #define INF 0x3f3f3f3f
    
    int dis[350][350];
    
    int main()
    {
        for(int i=0;i<330;i++)
            for(int j=0;j<330;j++)
                dis[i][j] = INF;
    
        int n,m,t;
        scanf("%d%d%d",&n,&m,&t);
        int a,b,d;
        for(int i=0;i<m;i++)
        {
            scanf("%d%d%d",&a,&b,&d);
            dis[a][b] = d;
        }
    
        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                    dis[i][j] = min(dis[i][j],max(dis[i][k],dis[k][j]));
        int x,y;
        for(int i=0;i<t;i++)
        {
            scanf("%d%d",&x,&y);
            if(dis[x][y]==INF)
                puts("-1");
            else printf("%d
    ",dis[x][y]);
        }
    
    
        return 0;
    }
  • 相关阅读:
    [六省联考2017]相逢是问候
    [CQOI2017]老C的键盘
    [CQOI2017]老C的任务
    [CQOI2017]小Q的棋盘
    <sdoi2017>树点涂色
    三分法
    最长回文子串
    hdu3261
    spoj694
    poj1743
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5738003.html
Copyright © 2011-2022 走看看