题目描述

有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间。这个邮递员每次只能带一样东西。求送完这N-1样东西并且最终回到邮局最少需要多少时间。

输入输出格式

输入格式:

第一行包括两个整数N和M。

第2到第M+1行,每行三个数字U、V、W,表示从A到B有一条需要W时间的道路。 满足1<=U,V<=N,1<=W<=10000,输入保证任意两点都能互相到达。

【数据规模】

对于30%的数据,有1≤N≤200;

对于100%的数据,有1≤N≤1000,1≤M≤100000。

输出格式:

输出仅一行,包含一个整数,为最少需要的时间。

输入输出样例

输入样例#1:

  1. 5 10
  2. 2 3 5
  3. 1 5 5
  4. 3 5 6
  5. 1 2 8
  6. 1 3 8
  7. 5 3 4
  8. 4 1 8
  9. 4 5 3
  10. 3 5 6
  11. 5 4 2
输出样例#1:

  1. 83
    两次Dijkstra
    屠龙宝刀点击就送
  1. #include <algorithm>
  2. #include <cstring>
  3. #include <cstdio>
  4.  
  5. #define over() return 0;
  6. #define inf 0x7fffffff
  7. using namespace std;
  8.  
  9. bool vis[];
  10. int n,m,i,j,dis[],atlas[][];
  11. int min(int a,int b)
  12. {
  13. return a>b?b:a;
  14. }
  15. void Dijkstra(int start)
  16. {
  17. for(i=;i<=n;++i)
  18. {
  19. dis[i]=atlas[start][i];
  20. vis[i]=;
  21. }
  22. vis[start]=;
  23. dis[start]=;
  24. for(i=;i<n;++i)
  25. {
  26. int minx=inf,to;
  27. for(j=;j<=n;++j)
  28. {
  29. if(!vis[j]&&minx>dis[j])
  30. {
  31. minx=dis[j];
  32. to=j;
  33. }
  34. }
  35. vis[to]=;
  36. for(j=;j<=n;++j)
  37. {
  38. if(dis[j]>dis[to]+atlas[to][j])
  39. dis[j]=dis[to]+atlas[to][j];
  40. }
  41. }
  42. }
  43. int main()
  44. {
  45. scanf("%d%d",&n,&m);
  46. int u[],v[],l[];
  47. memset(atlas,,sizeof(atlas));
  48. for(i=;i<=m;++i)
  49. {
  50. scanf("%d%d%d",&u[i],&v[i],&l[i]);
  51. atlas[u[i]][v[i]]=min(atlas[u[i]][v[i]],l[i]);
  52. }
  53. Dijkstra();
  54. int Answer=;
  55. for(i=;i<=n;++i)
  56. Answer=Answer+dis[i];
  57. memset(atlas,,sizeof(atlas));
  58. for(i=;i<=m;++i)
  59. atlas[v[i]][u[i]]=min(atlas[v[i]][u[i]],l[i]);
  60. Dijkstra();
  61. for(i=;i<=n;++i)
  62. Answer=Answer+dis[i];
  63. printf("%d",Answer);
  64. over()
  65. }
  1.  
  1.  

洛谷 P1629 邮递员送信的更多相关文章

  1. 洛谷 P1629 邮递员送信-反向建边

    洛谷 P1629 邮递员送信 题目描述: 有一个邮递员要送东西,邮局在节点 11.他总共要送 n-1n−1 样东西,其目的地分别是节点 22 到节点 nn.由于这个城市的交通比较繁忙,因此所有的道路都 ...

  2. 洛谷——P1629 邮递员送信

    P1629 邮递员送信 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要 ...

  3. 洛谷 P1629 邮递员送信 题解

    P1629 邮递员送信 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要 ...

  4. 洛谷P1629 邮递员送信

    题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员每 ...

  5. 洛谷—— P1629 邮递员送信

    https://www.luogu.org/problem/show?pid=1629 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比 ...

  6. yzoj P1412 & 洛谷P1629 邮递员送信 题解

    有一个邮递员要送东西,邮局在结点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员每次只能带一 ...

  7. 洛谷P1629 邮递员送信 最短路-Djistra

    先上一波题目qwq https://www.luogu.org/problem/P1629· 复习了一波 dijstra 的 priority_queue(优先队列)优化的写法 tips: 求单项路中 ...

  8. Luogu P1629 邮递员送信

    P1629 邮递员送信 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要 ...

  9. P1629 邮递员送信

    题目描述: 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员 ...

随机推荐

  1. CSS元素:clip属性作用说明

    clip属性是一个比较有用的属性,但往往在实际应用中,并不多见,介绍的也很少.应用clip属性需要注意的两点: 一.clip属性必须和定位属性postion一起使用才能生效. 二.clip裁切的计算坐 ...

  2. 爬虫代码实现六-Queue队列实现循环抓取

    StartDSJCount : package com.dajiangtai.djt_spider.start; import java.util.List;import java.util.Queu ...

  3. lua基本语法

    1.注释--  ;  --[[    ]] 2.控制语句: if ..then ..   elseif..  then..  else.. end while.. do..end repeat ..u ...

  4. LuaToC#

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. std::map的删除

    void eraseMap() { int n = sizeof(MmMethod); std::map<CString, int>mapDemo; ; i < ; i++) { C ...

  6. Unity2D研究院之自动生成动画、AnimationController、Prefab(一)

    http://www.xuanyusong.com/archives/3243 国庆了,回家了.时刻还是要吃一颗学习的心,在家了也要抽出时间好好学习一下.之前MOMO一直没研究过Unity2D,今天研 ...

  7. hdu 4694 Important Sisters【支配树】

    求出支配树输出到father的和即可 支配树见:https://blog.csdn.net/a710128/article/details/49913553 #include<iostream& ...

  8. 后Selenium时代,网页自动化测试用Cypress

    本文技术难度★★★,初学自动化测试的朋友慎点!否则会引起焦虑等不适症状,严重者会怀疑自己技术人生! 来自Cypress官网首页! Web开发飞速换代! table控制页面OUT了! 原生态手写网页OU ...

  9. Centos 7.x 搭建 Zabbix3.4

    前提要安装了LAMP(官方推荐环境) LNMP也可以 一.安装.配置Zabbix3.4 1:安装zabbix_RPM包 rpm -i https://repo.zabbix.com/zabbix/3. ...

  10. [題解](縮點)luogu_P2341受歡迎的牛

    對於每個強聯通分量,這些牛一定都互相喜歡,所以縮點(我也不知道怎麼想到的) 接下來就是統計答案,最後縮成了一個DAG圖,如果這個點是明星的話,其他每個點一定直接或間接的鏈接這個點 也就是說其他點一定有 ...