Description

  大雪覆盖了整座城市,市政府要求“交通部门”尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通。整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的。清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路。冬季交通部门只有一辆铲雪车和一名司机,这辆铲雪车的出发点位于某个交叉路口S。
  无论街道上有没有积雪,铲雪车每前进一米都要消耗一升燃料。交通部门要求司机在铲除清单上的所有街道的积雪的前提下,消耗燃料最少,铲完后车可以停在任意交叉路口。

Input

  第一行包含2个整数N,S(1<=S<=N),N 为交叉路口总数,路口的标号为1...N,S为铲雪车出发的路口序号。  接下来的N-1行为清单上的街道,每一行包含三个用空格隔开的整数A,B,C,表示一条从交叉路口A到交叉路口B的街道,C为该街道的长度(单位为米)。

Output

  仅一行,包含一个整数,表示铲掉所有积雪所需的最少燃料。

Sample Input 1

5 1
1 2 8
1 3 10
3 4 10
4 5 7

Sample Output 1

43

Hint

20%的数据有:1<=N<=15;
100%的数据有:1<=N<=100000,1<=C<=1000。


按题意,街道就是棵树,每条边都要走来回共2遍,除了...

可以选择最后不回到根,因此肯定找条离根最远的叶子节点为最后一个节点,然后就停在这里不回去了,达到距离走的最小。
除此之外其他的路都要走2遍,因此主要就是考求离根最远的节点的距离。是个水题,完毕。

代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#define maxn 100005
#define maxm 200005
using namespace std;
int fir[maxn],ne[maxm],to[maxm],w[maxm],np=0;
void add(int x,int y,int z){ne[++np]=fir[x];fir[x]=np;to[np]=y;w[np]=z;
}int dfs(int u,int f){int ans=0;for(int i=fir[u];i;i=ne[i]){int v=to[i];if(v==f)continue;int tmp=dfs(v,u)+w[i];ans=max(ans,tmp);}return ans;
}
int main(){int n,s;scanf("%d%d",&n,&s);int sum=0;for(int i=1,x,y,z;i<n;i++){scanf("%d%d%d",&x,&y,&z);add(x,y,z);add(y,x,z);sum+=z;}printf("%d",sum*2-dfs(s,0));return 0;
}

转载于:https://www.cnblogs.com/de-compass/p/11239800.html

cqyz oj | 【训练题】铲雪车问题相关推荐

  1. 二级计算机为让利消费者,计算机二级office题库训练题(2)

    D.计算机病毒是一个特殊的寄生程序 15. 以下关于编译程序的说法正确的是( ). A.编译程序属于计算机应用软件,所有用户都需要编译程序 B.编译程序不会生成目标程序,而是直接执行源程序 C.编译程 ...

  2. 职称计算机windows 7,2017职称计算机考试Windows训练题

    2017职称计算机考试Windows训练题 考试考点往往贯穿在平时我们练习的习题中,下面是小编给大家提供的职称计算机考试Windows训练题,大家可以参考练习,更多习题练习请关注应届毕业生考试网. 1 ...

  3. c语言编程思维训练50题,c语言逻辑思维训练题一

    c语言逻辑思维训练题一 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 要求:用java实现下面的所有题目,2012年11月1日提交 ...

  4. js逻辑训练题_二建冲刺必刷300题!精选历年真题+母子题+模考易错题!

    订阅公众号,回复[口诀],获取完整版实务口诀 你是不是常常疑惑为什么同样在做题,同样熬通宵,同样很努力,为什么有人顺利拿证,有人却因几分之差黯然落榜? 因为二建不仅拼努力的程度,更要拼对精准二建信息的 ...

  5. c语言中a lt 1e-9,年9月计算机二级考试C语言强化训练题

    年9月计算机二级考试C语言强化训练题 为了使广大学员在备战计算机二级考试时更快的掌握相应知识点,小编在此精选了计算机二级C语言的练习题供学员参考,大家要抓紧时间备考,祝大家备考愉快,梦想成真. 一.单 ...

  6. 计算机考试dw操作题,职称计算机考试Dreamweaver训练题

    职称计算机考试Dreamweaver训练题 在考试备考中,大家要多进行习题的练习,以保证知识的灵活运用,下面是小编给大家提供的职称计算机考试Dreamweaver训练题,大家可以参考练习. 训练题一: ...

  7. 为什么c语言乘除法优先级低,C语言训练题.docx

    C语言训练题 C语言训练题1.表达式:(int)((double)9/2)- 9%2 的值是A) 0B) 3C) 4D) 5 参考答案:B[解析]先将整型数据9强制转换成double型,然后除以2得到 ...

  8. 职称计算机怎么练,2017职称计算机windows操作训练题

    2017职称计算机windows操作训练题 导语:一些基于windows系统的操作是每个职称计算机考生都必须了解的,下面是小编给大家提供的职称计算机windows操作训练题,大家可以参考练习,更多习题 ...

  9. 2022年执法资格通用法律知识考试判断题专项训练题及答案

    题库来源:优题宝公众号 2022年执法资格通用法律知识考试判断题专项训练题及答案,由优题宝公众号根据最新执法资格通用法律知识考试大纲与历年执法资格通用法律知识考试真题汇总编写,包含执法资格通用法律知识 ...

  10. 计算机二级考试怎么练题库,计算机二级考试单选题训练题库

    计算机二级考试单选题训练题库 计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种 ...

最新文章

  1. java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
  2. flutter学习(排雷)一
  3. linux shell 脚本 svn自动更新项目并且打包 、发布、备份
  4. LeetCode - Reverse Nodes in k-Group
  5. golang 引用相对路径package
  6. MyEclipseWeb项目配置
  7. Profile配置和加载配置文件
  8. if语句使用说明(Java)
  9. PHP设计模式系列 - 委托模式
  10. 10bit视频是什么?
  11. 高盛发布区块链报告:从理论到实践(中文版)七
  12. 如何检查浏览器存储中个人证书的存在
  13. 半监督学习:MixMatch
  14. 万豪国际集团将开设南京W酒店;博格纳中国首家精品店开业;中国大陆第300家乐高专卖店开业|美通社头条...
  15. mysql知识点系列-数据目录(Data目录)下文件类型一窥究竟
  16. Node.js之包管理npm
  17. 搞搞Google谷歌新曲(一)插电源上网还打电话
  18. Saber仿真软件no active design解决方法
  19. UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY 天有不测风云,机房断电或者电源有出现问题的时候
  20. 鸡啄米:C++编程入门系列之五(运算符和表达式)

热门文章

  1. 史上最全Unity3D游戏开发教程,从入门到精通(含学习路线图)
  2. ArcMap下停靠栏的设计与实现
  3. 链游:不要只争朝夕,要寄望百年
  4. linux 内核配置otg,Linux 4.9.11 测试USB OTG功能
  5. 安卓otg识别ntfs_你知道手机的OTG功能吗?学会用之后再也不担心内存不够了!...
  6. UVa 10105 - Polynomial Coefficients
  7. 西安计算机专业大专排名及分数线,西安所有的大学名单及排名分数线(本科 专科)...
  8. 冰原服务器维护,怪猎OL9月20日0:00全区全服维护更新公告
  9. 局域网访问虚拟机里的应用,以可道云 kod为例
  10. 2007年5月12日,地坛书市