Audiophobia

翻译 2015年11月18日 12:52:14

UVa 10048


这道题只需要在Floyd算法稍微改一下就行了,求出间接能到达一点的最大值,和

本身求出最小值就行了。

#include <stdio.h>
#define INF 100000005
const int maxn = 105;
int map[maxn][maxn], n, m;
void init ( )
{
    for ( int i = 0; i <= n; i ++ ) //初始化,只有起点终点一样时为0
        for ( int j = 0; j <= n; j ++ )
            map[i][j] = i == j ? 0 : INF;
}
inline int Max ( int a, int b )
{
    return a > b ? a : b;
}
inline int Min ( int a, int b )
{
    return a < b ? a : b;
}
void floyd ( )
{
    for ( int k = 1; k <= n; k ++ )
        for ( int i = 1; i <= n; i ++ )
            for ( int j = 1; j <= n; j ++ )
                map[i][j] = Min ( map[i][j], Max ( map[i][k], map[k][j] ) );
    //求间接路径的最大值 在求最小值
}
int main ( )
{
    int q, cas = 0, u, v, l;
    while ( ~ scanf ( "%d%d%d", &n, &m, &q ) && ( n || m || q ) )
    {
        init ( );
        while ( m -- )
        {
            scanf ( "%d%d%d", &u, &v, &l );
            if ( map[u][v] > l )    //有可能存在同一段都有值
                map[u][v] = map[v][u] = l;
        }
        if ( cas ++ )
            printf ( "\n" );
        printf ( "Case #%d\n", cas );
        floyd ( );
        while ( q -- )
        {
            scanf ( "%d%d", &u, &v );
            if ( map[u][v] >= INF ) //超过最大值证明没有最短路
                printf ( "no path\n" );
            else
                printf ( "%d\n", map[u][v] );
        }
    }
    return 0;
}


UVa 10048: Audiophobia

这道题要求我们求出图中的给定的两个节点(一个起点一个终点,但这是无向图)之间所有“路径中最大权值”的最小值,这无疑是动态规划。 我开始时想到根据起点和终点用动态规划直接求结果,但最终由于题中S过大,会...

Uva10048——Audiophobia

题目的意思,无向图中求某个点到另外一个点的路径上的最大噪声值,最大噪声值比其他路径上的最大噪声值小,比该路径上的噪声大。 最后问的是有q个问题,每个问题存入两个点,求这两点之间的最大噪声值,...

uva 10048 Audiophobia

uva 10048

UVA_10048_Audiophobia

#include #include #include #include #include #include #include #include #include #...
  • cxy7tv
  • cxy7tv
  • 2016年04月08日 08:56
  • 92

UVA-10048 Audiophobia(最短路上的最小值,Folyd)

原有的Floyd算法应该是:for(int k = 1;k

uva 10048 - Audiophobia(floyd 的变形)

给出一个无向连通图以及边权,目的求从一个点到另一个点的路径中 边权最大值 最小的那条路径,输出的是该条路径的最大边权。 因为是两点间路径问题,且数据量很小(只有100个) ,所以考虑使用floyd算...

Uva 10048 - Audiophobia

2Y 格式有点trick 最后一行没有回车 floyd的简单变形 不用最短路径,而是路径上最长边最小 #include #define INF (int)1e9 int g[110][11...
  • ronnoc
  • ronnoc
  • 2013年04月03日 12:25
  • 426

UVa10048_Audiophobia(最短路/floyd)(小白书图论专题)

解题报告 题意: 求所有路中最大分贝最小的路。 思路: 类似floyd算法的思想,u->v可以有另外一点k,通过u->k->v来走,拿u->k和k->v的最大值和u->v比较,存下最小的值。 #inc...

UVa 10048 Audiophobia (任意两点最长边的最小化)

Kruskal算法: #include #include #include #include #include #include #include #include #include #includ...

10048 - Audiophobia (Floyd)

该题是Floyd算法的一个巧妙变形,虽然AC率很高,但是真正要灵活变化到做出该题,显然要明白Floyd算法的思想和原理 ,弄清楚为什么可以这样更改算法的核心部分。 Floyd算法其实利用了动态规划的思...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Audiophobia
举报原因:
原因补充:

(最多只允许输入30个字)