1557 热浪
时间限制: 1 s
空间限制: 256000 KB
题目等级 : 钻石 Diamond
题解
查看运行结果
题目描述 Description
德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。

FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过T (1 <= T <= 2,500)个城镇,方便地标号為1到T。除了起点和终点外地每个城镇由两条双向道路连向至少两个其它地城镇。每条道路有一个通过费用(包括油费,过路费等等)。

给定一个地图,包含C (1 <= C <= 6,200)条直接连接2个城镇的道路。每条道路由道路的起点Rs,终点Re (1 <= Rs <= T; 1 <= Re <= T),和花费(1 <= Ci <= 1,000)组成。求从起始的城镇Ts (1 <= Ts <= T)到终点的城镇Te(1 <= Te <= T)最小的总费用。

输入描述 Input Description
第一行: 4个由空格隔开的整数: T, C, Ts, Te

第2到第C+1行: 第i+1行描述第i条道路。有3个由空格隔开的整数: Rs, Re和Ci

输出描述 Output Description
一个单独的整数表示从Ts到Te的最小总费用。数据保证至少存在一条道路。

样例输入 Sample Input
7 11 5 4

2 4 2

1 4 3

7 2 2

3 4 3

5 7 5

7 3 3

6 1 1

6 3 4

2 4 3

5 6 3

7 2 1

样例输出 Sample Output
7

数据范围及提示 Data Size & Hint
5->6->1->4 (3 + 1 + 3)

写在前面: Dijkstra小入门,就当熟悉一下代码和思想好了(:з」∠)
——————————————————————————————————————————————
思路:绝对不能用floyed不然理论上会炸,更何况是求一个起点。。。
代码:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int dis[2501],flag[2501],t,c,s,e,g[2501][2501];
main()
{scanf("%d%d%d%d",&t,&c,&s,&e);memset(g,127,sizeof(g));for (int i=1;i<=c;i++){int x,y;scanf("%d%d",&x,&y);scanf("%d",&g[x][y]); g[y][x]=g[x][y]; }int minn=999999;for (int i=1;i<=t;i++)dis[i]=g[s][i]; flag[s]=true; dis[s]=0;   for (int i=1;i<=t;i++) {minn=999999;int k=0;for (int j=1;j<=t;j++) if (!flag[j]&&dis[j]<minn)  {minn=dis[j]; k=j;}if (k==0) break; flag[k]=true;for (int j=1;j<=t;j++)  if (dis[k]+g[k][j]<dis[j])dis[j]=dis[k]+g[k][j]; }printf("%d",dis[e]);
} 

【codevs1557】 热浪, Dijkstra算法入门相关推荐

  1. Dijkstra算法入门

    前言 最短路径问题(Shortest Path Problem)是一类非常重要的问题,它出现在很多领域,例如车辆导航.路由选择.机器人运动规划.物流等.Dijkstra 算法是一种解决最短路径问题的经 ...

  2. 11.贪心算法入门-----Dijkstra算法详解

    Dijkstra算法详细(单源最短路径算法) 对于dijkstra算法,很多人可能感觉熟悉而又陌生,可能大部分人比较了解bfs和dfs,而对dijkstra和floyd算法可能知道大概是图论中的某个算 ...

  3. 【爬虫、算法】基于Dijkstra算法的武汉地铁路径规划!

    作者:牧小熊,华中农业大学,Datawhale原创作者 前言 最近爬取了武汉地铁线路的信息,通过调用高德地图的api 获得各个站点的进度和纬度信息,使用Dijkstra算法对路径进行规划. 1.数据爬 ...

  4. 数据结构与算法入门(follow 左神)

    文章目录 一. 认识时间复杂度和简单排序算法 1.以选择排序为例 2.异或运算 3.插入排序 4.二分查找 5.对数器 二. 认识O(NlogN)的排序 1.递归==栈的后序遍历 2.归并排序 3.快 ...

  5. Dijkstra算法求解图中最短路径距离

    前言:这里是自学内容,讲解的是用python来实现Dijkstra算法,算是入门求解图中最短路径问题的典型案例. 算法简介: 迪杰斯特拉(Dijkstra)算法是一个按照路径长度递增的次序产生的最短路 ...

  6. [C] Dijkstra算法——通过边实现松弛

    Dijkstra算法--通过边实现松弛 本算法学习指定一个点(源点)到其余各个顶点的最短路径,也叫做单源最短路径例如求下图1号顶点到2,3,4,5,6号顶点的最短路径 这个时候你可能就要问了,为什么不 ...

  7. 经典算法研究系列:二、Dijkstra 算法初探

    经典算法研究系列:二.Dijkstra 算法初探  July   二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...

  8. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  9. 数据结构与算法(7-4)最短路径(迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法)

    目录 一.最短路径概念 二.迪杰斯特拉(Dijkstra)算法(单源最短路径) 1.原理 2.过程 3.代码 三.弗洛伊德(Floyd)算法(多源最短路径) 1.原理 2.存储 3.遍历 4.代码 参 ...

最新文章

  1. 云炬随笔20190301
  2. 通过Athens搭建go私服
  3. windows下安装mysql压缩包版[转]
  4. 这门国产编程语言,确实很棒!
  5. pow python用法菜鸟_pow在python中的含义及用法
  6. vue 打包之后不兼容ie_vue中使用的一些问题(IE不兼容,打包样式不生效)
  7. C# 对文件进行MD5计算
  8. git制作patch补丁
  9. U盘怎么写保护、去保护?
  10. Win10 Ctrl+Alt+方向键 屏幕显示翻转解决办法
  11. mac苹果安装百度网盘--日常工作记录
  12. Elasticsearch5.3 JAVA Demo 聚合查询
  13. 10月24日——程序猿的节日
  14. 【机器学习】泛化误差上界
  15. 干货 | Elasticsearch 索引生命周期管理 ILM 实战指南
  16. 语义分割之边缘准确率提升
  17. zookeeper和kafka的SASL认证以及生产实践
  18. 1018石头剪刀布(模拟)
  19. burp suite抓包中文乱码
  20. 神经网络仿真逻辑回归,神经网络仿真实验matlab

热门文章

  1. 【华为云技术分享】《跟唐老师学习云网络》—我的网络概念
  2. css布局难,运用 CSS布局到底有多难?[多图]
  3. 韩顺平php视频笔记45 循环相关语句break,continue常量
  4. 关于Gprmax正演模拟结果显示空白的原因分析
  5. Python变量、脚本名称、函数命名规范
  6. library的英语怎么读音_如何提高英语听力
  7. python爬虫应用实例_Python爬虫进阶必备 | 一个典型的 AES 加密在爬虫中的应用案例...
  8. 【spingboot基础知识】相关问题汇总
  9. Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
  10. Spark流编程指引(三)-------------------------------------初始化StreamingContext