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 #...

uva 10048 - Audiophobia(floyd 的变形)

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

Uva 10048 - Audiophobia

2Y 格式有点trick 最后一行没有回车 floyd的简单变形 不用最短路径,而是路径上最长边最小 #include #define INF (int)1e9 int g[110][11...

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

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

10048 - Audiophobia (Floyd)

该题是Floyd算法的一个巧妙变形,虽然AC率很高,但是真正要灵活变化到做出该题,显然要明白Floyd算法的思想和原理 ,弄清楚为什么可以这样更改算法的核心部分。 Floyd算法其实利用了动态规划的思...

UVA 10048 Audiophobia

给出一个图 求从任意给定的起点到终点的走过的权值最大的边的最小值  依旧可以用floyd算法 把加法改成min min改成max 刘汝佳的书上说的很清楚了 我很相信做uva上面题的 大多是看刘汝佳书...

UVA - 10048 Audiophobia (floyd+dp)

题目大意:求所有可达路径中最大值最小的一条路,并输出去其最大值。 ju 让我们来看一个例子,看下图: 图中红色的数字代表边的权重。如果我们在最内层检查所有节点X,那么对于A->B,我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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