畅通工程续 HDU1874

Posted bxd123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了畅通工程续 HDU1874相关的知识,希望对你有一定的参考价值。

floyd算法秒过。。。这个算法真的好简单

注意的一点是  两个城镇可能有多条路  存短的一条!!!

技术分享图片
#include<bits/stdc++.h>
using namespace std;

int m1[300][300];

int main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)==2)
    {
       for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)m1[i][j]=20000;

        for(int i=0;i<n;i++)m1[i][i]=0;
        while(m--)
        {
            int a,b,c;
            scanf("%d%d%d",&a,&b,&c);
            if(m1[a][b]>c){m1[a][b]=m1[b][a]=c;}


        }
        for(int k=0;k<n;k++)
            for(int i=0;i<n;i++)
             for(int j=0;j<n;j++)
              if(m1[i][j]>m1[i][k]+m1[k][j])
                m1[i][j]=m1[i][k]+m1[k][j];


            int a,b;
            scanf("%d%d",&a,&b);
            if(m1[a][b]!=20000)
                printf("%d
",m1[a][b]);
            else printf("-1
");



    }



}
View Code

还有D算法和S算法得学一下。

以上是关于畅通工程续 HDU1874的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1874 畅通工程续

hdu1874畅通工程续(floyd)

hdu 1874 畅通工程续(SPFA模板)

HDU1874 畅通工程续 (Dijkstra)

HDU 1874 畅通工程续Floyd算法实现

hdu 1874 畅通工程续 (dijkstra(不能用于负环))