美文网首页
A - Til the Cows Come Home

A - Til the Cows Come Home

作者: 陌路晨曦 | 来源:发表于2017-03-29 18:45 被阅读0次

这是一道最短路的模板的,很裸的模板题可惜我还是没能1A,是因为我不知道dijkstra需要判断重复的边,dijkstra是利用邻接矩阵存的值,如果有两条相同的边重复输入且边的权值不同,那么如果靠后的那条边权值比前面的那条大,这个同一条边的较大的值会覆盖之前那个较小的值,那么我们求出的最终路径就不是最短路径;

下面贴代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<iostream>
#include<math.h>
using namespace std;
int t,n;
const int inf = 1e8;
int map[1010][1010];
int dist[1010];
int s[1010];

void dijkstra(int v)
{
    for(int i =1;i<=n;i++)
    {
        dist[i] = map[v][i];
        s[i] = 0;
    } 
    s[v] = 1;dist[v] = 0;
    for(int i =0;i<n-1;i++)
    {
        int min = inf,u = v;
        for(int i=1;i<=n;i++)
        {
            if(!s[i]&&dist[i]<min)
            {
                min = dist[i];
                u = i;
            }
        }
        s[u] = 1;
        for(int i = 1;i<=n;i++)
        {
            if(!s[i] && dist[u] + map[u][i]<dist[i])
            {
                dist[i] = dist[u] + map[u][i];
            }
        }
    } 
}
int main()
{
    scanf("%d%d",&t,&n);
    for(int i = 1;i<=n;i++)
    {
        for(int j =1;j<=n;j++)
        {
            if(i!=j)
            {
                map[i][j] = inf;
            }
        }
    }
    for(int i = 0;i<t;i++)
    {
        int a,b,cost;
        scanf("%d%d%d",&a,&b,&cost);
        map[a][b] = min(map[a][b],cost);
        map[b][a] = min(map[b][a],cost);
    }
    dijkstra(1);
    printf("%d\n",dist[n]);
}

相关文章

  • A - Til the Cows Come Home

    这是一道最短路的模板的,很裸的模板题可惜我还是没能1A,是因为我不知道dijkstra需要判断重复的边,dijks...

  • poj2387-Til the Cows Come Home

  • POJ - 2387 Til the Cows Come Hom

    题目大意 这道题要我们求一群奶牛最短的回家的路,题目会给你n个点,m条边,然后给你每条边又哪两个点相连,并且其中的...

  • 2020-01-19

    ✨ 不要把“till the cows come home”翻译成“等到牛回家”哦,理解错可要被嫌弃了! 说到家,...

  • Dream

    I never had a dream come true Til the day that I found you

  • #馨安百日英语计划##Day4/100#

    一、句子——英文(E) 1、Cow's milk is very likely to come from cows...

  • come back home

    今天是21号,赶上了春运的高峰.也开始着我的春节假期。今天起了个大早,睡眼朦胧的从床上爬起,感觉没睡好的样子...

  • 【自嗨】之自嘲

    自嗨Yeah, very good.你自嗨,我自嗨,我们全都自嗨自嗨 till the cows come hom...

  • A note to Daivd

    Dear David Please come to my home for supper at six this ...

  • 2019-04-09又中又英——A stuffy apartme

    Whenever my friends come to my home, they say it is very ...

网友评论

      本文标题:A - Til the Cows Come Home

      本文链接:https://www.haomeiwen.com/subject/fmdyottx.html