畅通工程续 HDU - 1874(dijkstra+坑爹)

图论专题HDU-1874 畅通工程续 图论专题 J-畅通工程 题面 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N&... 阅读详情

某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。

现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。

Input
本题目包含多组数据,请处理到文件结束。
每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。
接下来是M行道路信息。每一行有三个整数A,B,X(0<=A,B<N,A!=B,0<X<10000),表示城镇A和城镇B之间有一条长度为X的双向道路。
再接下一行有两个整数S,T(0<=S,T<N),分别代表起点和终点。
Output
对于每组数据,请在一行里输出最短需要行走的距离。如果不存在从S到T的路线,就输出-1.
Sample Input
3 3
0 1 1
0 2 3
1 2 1
0 2
3 1
0 1 1
1 2
Sample Output
2
-1

思路:介道题,一道看上去简单的dijkstra模板题求最短路,让我WA到了最后,痛不欲生,坑点在于,可能输入重复的路径,必须判断如果比原来的短才会修改

code:

#include <iostream>
#include <cstring>
using namespace std;
#define INF 99999999
int mp[300][300];
int vis[300];
int dis[300];
int n,m;
int s,t;
void dijkstra(){
    int i,j;
    memset(vis,0,sizeof(vis));
    for(i = 0; i < n; i++){
        dis[i] = mp[s][i];
    }
    dis[s] = 0;
    vis[s] = 1;
    for(i = 0; i < n; i++){
        int mind = INF;
        int u = -1;
        for(j = 0; j < n; j++){
            if(!vis[j]&&dis[j]<mind){
                mind = dis[u=j];
            }
        }
        if(u==-1)break;
        vis[u] = 1;
        for(j = 0; j < n; j++){
            if(!vis[j]){
                if(dis[j] > dis[u] + mp[u][j]){
                    dis[j] = dis[u] + mp[u][j];
                }
            }
        }
    }
    if(dis[t] >= INF)
        cout << "-1" << endl;
    else
        cout << dis[t] << endl;
}
int main(){
    while(cin >> n >> m){
        int i,j;
        for(i = 0; i < n; i++)
            for(j = 0; j < n; j++)
              mp[i][j] = INF;
        for(i = 0; i < m; i++){
            int a,b,d;
            cin >> a >> b >> d;
            if(d < mp[a][b]){//就这一个判断决定整个题,以后长记性了,不管会不会出现这种情况都加上判断,其他的就是dijkstra,没有不同
              mp[a][b] = d;
              mp[b][a] = d;
			}
        }
        cin >> s >> t;
        dijkstra();
    }
    return 0;
}


畅通工程续 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。 接下来是M行道路信息。每一行有三个整数A,B,X(0<A,B<N,A!=B,0<X<10000),表示城镇A和城镇B之间有一条长度为X的双向道路。 再接下一行有两个整数S,T(0<=S,T<N),分别代表起点和终点。 Output 对于每组数据,请在一行里输出最短需要行走的距离。如果不存在从S到T的路线,就输出-1. Sample Input 3 3 0 1 1 0 2 3 1 2 1 0 2 3 1 0 1 1 1 2 Sample Output 2 -1 立即下载

相关推荐

GEOS-Chem笔记——模式下载安装+驱动数据+运行流程

看过我博客的会发现我写了很多CESM的笔记,但是说实话,平时科研我其实更多时候是GEOS-Chemuser。之所以写了很多CESM笔记,其实是因为不会,就边学边写。然后GEOS-Chem已经用比较熟了,所以也没想过做笔记啥的。但是我发现越来越多朋友私信我各种CESM问题,我觉得我可能给大家营造了一种我是CESM达人的错觉。感觉自己有点跑偏了呢。公平起见,我觉得我有必要补充点GEOS-Chem笔记。 GEOS-Chem是研究大气化学的人常用的大气化学传输模式,在全世界范围的大气化学研究组中被广泛使用。不过.

砍柴姑娘Jourosy的博客 1万+

畅通工程续(两种算法)

某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200,0&lt...

墨w的博客 638

STM32F407与W5100S的SPI通信实战:从硬件连接到TCP服务器搭建

本文详细介绍了STM32F407微控制器通过SPI接口驱动W5100S以太网模块,并搭建TCP服务器的完整实战过程。内容涵盖硬件连接、SPI驱动配置、网络参数设置及Socket编程,重点解析了SPI通信时序、W5100S寄存器操作和TCP连接管理,为嵌入式网络通信开发提供实用指南。

weixin_29173777的博客 193

Problem I: 工程

Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。   Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0&lt...

qq_42079027的博客 256

离线安装vue脚手架,内网安装@vue/cli

公司开发环境使用内网,无法用外网,搭建环境的时候,发现内网系统没有安装vue脚手架,我搜了很多文章,发现他们的方法对我都不适用,然后就自己摸索,最终皇天不负有心人,终于被我安装上了,一下是我内网离线安装vue/cli的方法,希望能帮助到有需要的小伙伴! 因为npm被集成在nodejs中,而安装nodejs只需要把nodejs安装包copy到内网电脑安装就行,比较简单,这里就不多做演示。 在外网电脑上,使用npm install -g xxxx命令下载好我们所需要的各个安装包,比如: npm insta

Liberty_yes的博客 1万+

STM32F407驱动OV2640摄像头:从SCCB协议到I2C模拟的保姆级避坑指南

本文详细介绍了STM32F407驱动OV2640摄像头的完整流程,重点解析SCCB协议与I2C的关键差异,并提供GPIO模拟实现方案。通过实战案例和调试技巧,帮助开发者避开常见陷阱,实现稳定的图像采集功能。

weixin_28700411的博客 345

【图论】C006_模板题:畅通工程(SPFA / Dijkstra / )

一、题目描述 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200,...

无敌兔0x01 795

如何解除Uniaccess管控??

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2380

杭电oj1874:畅通工程续(最短路径)

1874 畅通工程续 题目链接 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据...

醉酒诗人的博客 490

PPT制作能力在职场中真的重要吗?一定要美术功底才能学好PPT吗?

我推出PPT技能培训专栏啦!好的PPT可以让你事半功倍、2023拥有PPT能力还可以让你具备一门极有价值的斜杠能力。更多内容请进:梦幻训练营专栏。专栏内会用本人积累的近10年的PPT学习方法论在短时间内教会你如何制作出精美绝伦的PPT,每篇教程后还会免费赠送一些小福利,不可多得。

打造全国最全的AI Agent开发知识领域的博客 728

电阻抗成像肺功能测试数据分析与直方图生成

本文介绍了基于MATLAB的电阻抗成像(EIT)肺功能测试数据分析方法。研究针对32×32像素的EIT图像序列,通过三步算法处理:首先计算特定时间点与谷值图像的差值,然后分析1秒后峰值与1秒值的差值,最终计算比值矩阵并处理异常值。系统展示了数据预处理、关键时间点检测、比值计算及统计分析的全流程,包括生成概率分布直方图和空间分布图等可视化方法。该分析为无创肺功能评估提供量化指标,可应用于临床呼吸监测和疾病诊断。

huanghm88的专栏 197

畅通工程续 HDU - 1874 【Floyd算法】

某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。  现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。  每组数据第一行包含两个正整数N和M(0&lt;N&lt;200,0&lt...

han_hhh的博客 375

AI智能体面试实战与真题解析: 312+道面试题完整答案 (下篇)

本文覆盖220道基础八股文+92道项目面试题,涵盖Agent架构、RAG、工具调用、记忆系统、多智能体、大模型基础、工程化实践、Prompt工程9大模块,含完整代码实现和模拟面试剧本。

program哲学 296

hdu 1874 畅通project续

hdu 1874 畅通project续 最短路问题,尽管a!=b,可是同一条路測评数据会给你非常多个。因此在读入的时候要去最短的那条路存起来.........见了鬼了。坑爹 #include<iostream> #include<vector> #include<cstring> #define m...

weixin_30783913的博客 74

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hdu 1874 畅通工程续

最短路问题,虽然a!=b,但是同一条路测评数据会给你很多个,因此在读入的时候要去最短的那条路存起来.........见了鬼了,坑爹 #include #include #include #define maxn 205 #define inf 1<<30 using namespace std; int n,m; int vaule[maxn][maxn]; vectormapp[maxn];

zafkiel_nightmare的专栏 579

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

畅通工程续 hdu 1874 最短路模板的基本运用

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 22678    Accepted Submission(s): 7972 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建

风华绝代 767

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

HDU-1874(邻接表写Dijkstra())

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17199    Accepted Submission(s): 5902 Problem Description 某省自从实行了很多年的畅通工程计划后,

李硕 1157

畅通工程续【Floyd】

题目描述: Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0&lt...

weixin_45619734的博客 556

畅通工程系列题解

目录 HDU 1232 畅通工程 【传送门】 HDU 1233 还是畅通工程 【传送门】 HDU 1863 畅通工程 【传送门】 HDU 1874 畅通工程续 【传送门】 HDU 1875 畅通工程再续 【传送门】 HDU 1879 继续畅通工程 【传送门】 HDU 1232 畅通工程 【传送门】 Time Limit: 4000/2000 MS (Java/Others)...

lesileqin的博客 1409

畅通工程续(HDU 1874)(简单最短路)

某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0&lt;N&lt;200,0&lt;M...

Mercury_Lc的博客 561

杭电acm-1874畅通工程续

畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 31638    Accepted Submission(s): 11556 Problem Description 某省自从实行了很多年的畅通工

天天乐见的笔记本 1169

hdu1874 畅通工程续 floyd模板题

原题链接  Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两...

一叶之修的博客 576

HDU 1874 畅通工程续

题目描述: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200...

qq_43331910的博客 336

hdu 1874 畅通工程续【裸最短路】

链接: http://acm.hdu.edu.cn/showproblem.php?pid=1874 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29015#problem/E 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/3

free斩 1404
上一篇: In 7-bit ZOJ - 3713(进制操作转换)
下一篇: 106 miles to Chicago SPOJ - CHICAGO(dijkstra)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值