• UESTC 30 最短路,floyd,水


    最短路

    Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)

    Submit Status

    在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的T-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

    Input

    输入包括多组数据。

    每组数据第一行是两个整数NN,MM(N≤100N≤100,M≤10000M≤10000),NN表示成都的大街上有几个路口,标号为11的路口是商店所在地,标号为NN的路口是赛场所在地,MM则表示在成都有几条路。N=M=0N=M=0表示输入结束。

    接下来MM行,每行包括33个整数AA,BB,CC(1≤A1≤A,B≤NB≤N,1≤C≤10001≤C≤1000),表示在路口AA与路口BB之间有一条路,我们的工作人员需要CC分钟的时间走过这条路。

    输入保证至少存在11条商店到赛场的路线。

    Output

    对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间。

    Sample input and output

    Sample Input

    Sample Output

    2 1

    1 2 3

    3 3

    1 2 5

    2 3 5

    3 1 2

    0 0

    3

    2

    Source

    电子科技大学第六届ACM程序设计大赛 初赛

    1、UESTC 30

    2、链接:http://acm.uestc.edu.cn/#/problem/show/30

    3、总结:裸的最短路,floyd,水题

    #include<iostream>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<algorithm>
    #include<cstdio>
    #define max(a,b) (a>b?a:b)
    #define min(a,b) (a<b?a:b)
    #define abs(a) ((a)>0?(a):-(a))
    using namespace std;
    #define LL long long
    #define INF 0x3f3f3f3f
    int mapn[110][110];
    int n,m;
    void floyd()
    {
        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
        {
            mapn[i][j]=min(mapn[i][j],mapn[i][k]+mapn[k][j]);
        }
    }
    
    int main()
    {
        while((scanf("%d%d",&n,&m)!=EOF)&&(n||m))
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                    mapn[i][j]=INF;
                mapn[i][i]=0;
            }
    
            int a,b,c;
            while(m--)
            {
                scanf("%d%d%d",&a,&b,&c);
                if(mapn[a][b]>c)
                    mapn[a][b]=mapn[b][a]=c;
            }
    
            floyd();
            printf("%d
    ",mapn[1][n]);
        }
        return 0;
    }
  • 相关阅读:
    Identity Server4学习系列三
    C# 多线程九之Timer类
    Identity Server4学习系列二之令牌(Token)的概念
    Identity Server4学习系列一
    C# 多线程八之并行Linq(ParallelEnumerable)
    使用Resourcehacker去除winrar的弹窗广告
    remote: Coding 提示: Authentication failed问题解决
    使用Python读取照片的GPS信息
    mongoose删除mongodb某个库的所有collection
    mysql数据库查询占用空间
  • 原文地址:https://www.cnblogs.com/sbfhy/p/5705871.html
Copyright © 2020-2023  润新知