思路:该题要使用树的直径。

求树的直径:先从一个点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相关推荐

  1. 蓝桥杯 大臣的旅费(Java dfs)

    历届试题 大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的 ...

  2. java 大臣的旅费_蓝桥杯 大臣的旅费(Java dfs)

    历届试题 大臣的旅费 时间限制:1.0s 内存限制:256.0MB 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的 ...

  3. java实现第四届蓝桥杯大臣的旅费

    大臣的旅费 题目描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大 ...

  4. 蓝桥杯——大臣的旅费

    原题链接:大臣的旅费 题目描述 很久以前,T王国空前繁荣. 为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使 ...

  5. java 大臣的旅费_蓝桥杯 大臣的旅费

    大臣J从城市4到城市5要花费135的路费. 方法1:由于两个城市之间仅仅有一种方法到达,所以能够採用floyd的方法求出随意两点间的最短距离,由于仅仅有一种方法.然后求出这些最短路径中的最大值就可以. ...

  6. 2021 第十二届 蓝桥杯 国赛决赛 Java B组 真题 详细解析

    文章目录 2021 第十二届 Java B组 国赛 真题答案 详细解析 试题A: 整数范围 答案:255 分析: Code: 试题B: 纯质数 答案:1903 分析: Code: 试题C: 完全日期 ...

  7. c语言奇怪的分式11,蓝桥杯-奇怪的分式-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  8. java蓝桥杯加法变乘法_蓝桥杯-加法变乘法-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  9. 2020十一届蓝桥杯国赛二等奖Java B组

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 参考博客https://blo ...

最新文章

  1. C语言中的字符串处理
  2. 包含绑定变量的sql进行调优需注意一点
  3. android 应用内部组织关系
  4. 添加cacti监控_小水谈监控---Cacti安装(监控)
  5. Linux内存,先看这篇文章
  6. dbms_排名前50位的DBMS面试问答
  7. gitlab汉化及关联LDAP
  8. 运动状态下,百度人脸识别返回结果跟当前帧可能不一致
  9. 软件工程要学python吗_软件工程师必须得会Python编程吗?
  10. PX PT 磅 EM 以及PS中字间距VA单位的解释
  11. 中国邮政国际航空挂号信是可以网上查询跟踪的
  12. 南佛罗里达大学计算机科学硕士,南佛罗里达大学计算机工程硕士排名第88(2020年TFE Times排名)...
  13. FFMpeg 常用命令格式转换,视频合成
  14. html5课程总结500字,体育课心得体会500字(精选6篇)
  15. java部门人员结构树
  16. 空间数据库之矢量数据上载方法
  17. OpenX系列标准介绍(2):OpenDRIVE实例分析
  18. 大数据开发工程师都需要学什么?
  19. 怎么将CAJ转换成PDF
  20. Android 7.0 Nougat(牛轧糖)---对开发者来说

热门文章

  1. FBE 与FDE学习总结
  2. 高德地图定位及导航开发流程
  3. Mac自带的邮件 添加邮箱 无法验证账户或密码【已解决】
  4. 董明珠:没有人才,一切归零;没有道德,人才归零
  5. 【操作系统】进程、线程、协程和并发、并行
  6. 新手进阶建模 (写论文摘要和看论文)
  7. ADB命令使用大全及使用原理
  8. python回归分析结果怎么看_Python数据分析|线性回归
  9. linux内核5.8.1,Linus Torvalds宣布大规模更新Linux内核5.8
  10. Oracle学习(八)——————————————子查询