蓝桥杯 大臣的旅费 JAVA
思路:该题要使用树的直径。
求树的直径:先从一个点DFS,找到一个最远的点v,然后以该点v作为起点再次DFS,找到点t,则v到t则为该树的最远直径。
1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class 大臣的旅费 { 5 6 public static int ans = Integer.MIN_VALUE; 7 public static int temp,n; 8 public static boolean[] visited = new boolean[7010]; 9 public static int[][] map = new int[7010][7010]; 10 11 public static void main(String[] args) { 12 Scanner sc = new Scanner(System.in); 13 n = sc.nextInt(); 14 sc.nextLine(); 15 16 for(int i=0;i<n-1;i++){ 17 int x = sc.nextInt()-1; 18 int y = sc.nextInt()-1; 19 int dis = sc.nextInt(); 20 21 map[x][y] = dis; 22 map[y][x] = dis; 23 } 24 25 visited[0] = true; 26 DFS(0,0); 27 Arrays.fill(visited, false); 28 29 visited[temp] = true; 30 ans = Integer.MIN_VALUE; 31 DFS(temp, 0);//第二次深度优先搜索 32 33 //System.out.println(ans); 34 int sum = (11+10+ans)*ans/2; 35 System.out.println(sum); 36 } 37 38 39 public static void DFS(int start,int dist){//起点,距离 40 if(dist>ans){ 41 ans = dist; 42 temp = start; 43 } 44 for(int i=0;i<n;i++){ 45 if(!visited[i]&&map[start][i]>0){ 46 visited[i] = true; 47 dist+= map[start][i]; 48 DFS(i, dist); 49 visited[i] = false; 50 dist -= map[start][i]; 51 } 52 } 53 return; 54 } 55 }
转载于:https://www.cnblogs.com/blzm742624643/p/10368523.html
蓝桥杯 大臣的旅费 JAVA相关推荐
- 蓝桥杯 大臣的旅费(Java dfs)
历届试题 大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的 ...
- java 大臣的旅费_蓝桥杯 大臣的旅费(Java dfs)
历届试题 大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的 ...
- java实现第四届蓝桥杯大臣的旅费
大臣的旅费 题目描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大 ...
- 蓝桥杯——大臣的旅费
原题链接:大臣的旅费 题目描述 很久以前,T王国空前繁荣. 为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使 ...
- java 大臣的旅费_蓝桥杯 大臣的旅费
大臣J从城市4到城市5要花费135的路费. 方法1:由于两个城市之间仅仅有一种方法到达,所以能够採用floyd的方法求出随意两点间的最短距离,由于仅仅有一种方法.然后求出这些最短路径中的最大值就可以. ...
- 2021 第十二届 蓝桥杯 国赛决赛 Java B组 真题 详细解析
文章目录 2021 第十二届 Java B组 国赛 真题答案 详细解析 试题A: 整数范围 答案:255 分析: Code: 试题B: 纯质数 答案:1903 分析: Code: 试题C: 完全日期 ...
- c语言奇怪的分式11,蓝桥杯-奇怪的分式-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- java蓝桥杯加法变乘法_蓝桥杯-加法变乘法-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- 2020十一届蓝桥杯国赛二等奖Java B组
大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 参考博客https://blo ...
最新文章
- C语言中的字符串处理
- 包含绑定变量的sql进行调优需注意一点
- android 应用内部组织关系
- 添加cacti监控_小水谈监控---Cacti安装(监控)
- Linux内存,先看这篇文章
- dbms_排名前50位的DBMS面试问答
- gitlab汉化及关联LDAP
- 运动状态下,百度人脸识别返回结果跟当前帧可能不一致
- 软件工程要学python吗_软件工程师必须得会Python编程吗?
- PX PT 磅 EM 以及PS中字间距VA单位的解释
- 中国邮政国际航空挂号信是可以网上查询跟踪的
- 南佛罗里达大学计算机科学硕士,南佛罗里达大学计算机工程硕士排名第88(2020年TFE Times排名)...
- FFMpeg 常用命令格式转换,视频合成
- html5课程总结500字,体育课心得体会500字(精选6篇)
- java部门人员结构树
- 空间数据库之矢量数据上载方法
- OpenX系列标准介绍(2):OpenDRIVE实例分析
- 大数据开发工程师都需要学什么?
- 怎么将CAJ转换成PDF
- Android 7.0 Nougat(牛轧糖)---对开发者来说