zoukankan      html  css  js  c++  java
  • hdu 1874 畅通工程续 flody

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874

    flody 居然没考虑重复边和 从起点和终点是一个点时距离是0的情况 WA了好几次

    有重复边的时候最后的距离是最小距离 邻接矩阵初始化的时候 i和j如果相等 map[i][j]=0

    又被水题折磨了一个多小时 浪费时间了 什么时候才能不这么二呢??

    #include<iostream>
    #include<cstdio>
    #define INF 1<<29
    #define SIZE 300
    using namespace std;
    int map[SIZE][SIZE];
    void floyd(int n)
    {
        int i,j,k;
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                for(k=0;k<n;k++)
                {
                    if(map[j][k]>=(map[j][i]+map[i][k]))
                         map[j][k]=map[j][i]+map[i][k];           
                }
            }
        }
    }
    void init()
    {
        int i,j;
        for(i=0;i<SIZE;i++)
        {
            for(j=0;j<SIZE;j++)
            {
                if(i!=j)map[i][j]=INF;
                else
                map[i][j]=0;
            }
        }
    }
    int main()
    {
        int nroad,ncity,i,length,begin,end;
        while(scanf("%d %d",&ncity,&nroad)!=EOF)
        {
            init();
            for(i=0;i<nroad;i++)
            {
                scanf("%d %d %d",&begin,&end,&length);
                if(length<=map[begin][end]&& length<=map[end][begin])
                {
                    map[begin][end]=length;
                    map[end][begin]=length;
                }
            }
           floyd(ncity);
            scanf("%d %d",&begin,&end);
            if(map[begin][end]==INF)
            printf("-1\n");
            else
            printf("%d\n",map[begin][end]);
        }
        //system("pause");
        return 0;
    }
  • 相关阅读:
    elementui:eltreenode
    Cesium+Vue
    TXT文件读写
    The Naked Kitchen
    0627realman
    信息: XML validation disabled
    跟踪加载图像
    加载和显示图像
    文件创建
    彩色图像转灰度图像
  • 原文地址:https://www.cnblogs.com/yujiaao/p/2718855.html
Copyright © 2011-2022 走看看