[编程题]java实现游历魔法王国
链接: https://www.nowcoder.com/questionTerminal/f58859adc39f4edc9cd8e40ba4160339
来源:牛客网
魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树。
小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次。
如果小易到达过某个城市就视为小易游历过这个城市了,小易现在要制定好的旅游计划使他能游历最多的城市,请你帮他计算一下他最多能游历过多少个城市(注意0号城市已经游历了,游历过的城市不重复计算)。
输入描述:
输入包括两行,第一行包括两个正整数n(2 ≤ n ≤ 50)和L(1 ≤ L ≤ 100),表示城市个数和小易能行动的次数。 第二行包括n-1个整数parent[i](0 ≤ parent[i] ≤ i), 对于每个合法的i(0 ≤ i ≤ n - 2),在(i+1)号城市和parent[i]间有一条道路连接。
输出描述:
输出一个整数,表示小易最多能游历的城市数量。
这道题初看有些费解,参考了大佬的思路后我自己重新实现了一遍,此题对思维训练很有帮助。
思路大佬博客中介绍的很清楚了http://blog.csdn.net/m0_37650263/article/details/77938968?locationNum=2&fps=1
下面是java代码:
import java.util.*;
public class Main
{
public static void main(String []args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int L=sc.nextInt();
int parent[]=new int[n-1];
for(int i=0;i<n-1;i++)
parent[i]=sc.nextInt();
int node_len[]=new int[n];
node_len[0]=1;
for(int i=0;i<n-1;i++)
{
node_len[i+1]=node_len[parent[i]]+1;
}
Arrays.sort(node_len);
int node_MaxDepth=node_len[node_len.length-1];
if(node_MaxDepth>L)
System.out.print(L+1);
else{
int left=L-(node_MaxDepth-1);
int left_city=(left/2);
System.out.print(left_city+node_MaxDepth);
}
}
}
[编程题]java实现游历魔法王国相关推荐
- 【网易编程题】小易魔法王国采购魔法神器
原题: 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1:如果投入x个 ...
- 网易编程题 游历魔法王国 (Python)
游历魔法王国(python) 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多 ...
- java 魔法王国,游历魔法王国
60 只要找到最长的一条路径就好,只要保证最长路径只走一次,多余的步数再去访问其他节点,就能计算能够访问的最多节点数. (1) 如果允许走的步数L小于等于最长路径,那么就直接只在最长路径上走,这样可以 ...
- 网易2018校园招聘:游历魔法王国 [python]
''' [编程题] 游历魔法王国 时间限制:1秒 空间限制:32768K 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当 ...
- 经典笔试编程题--Java实现
转载自 经典笔试编程题--Java实现 1.输入一个正数n,输出所有和为n的连续正数序列. 分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值.sum ...
- 西安交通大学915考研--编程题Java代码踩坑(2020年真题)
西安交通大学915考研–编程题Java代码踩坑(2020年真题) 目录 西安交通大学915考研--编程题Java代码踩坑(2020年真题) 2020.1--寻找方程组的解 2020.2--几组数中筛选 ...
- 网易2018校招——04.游历魔法王国
游历魔法王国 ** 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行 ...
- 魔法王国java_网易编程题-游历魔法王国(深度优先遍历)
魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果小易到达过某 ...
- 网易2018编程题之游历魔法王国
题目描述: 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果 ...
最新文章
- Unity----Scene加载问题
- IOS UISearchDisplayController 点击搜索出现黑条问题解决方案
- Tears in Heaven
- ajax序列化表单,再也不用通过data去一个个的传值了
- 格式化的盘要怎么恢复数据
- C++Primer模板
- TCP的拥塞控制机制
- 一文讲清数据治理、数据管理、数据资产管理区别,数据专家必看
- Log4j.xml配置日志按级别过滤并将指定级别的日志发送到ActiveMQ
- Flutter进阶第11篇: 调用原生硬件Api实现扫码 扫描条形码 扫描二维码
- 阿里巴巴前架构师 360 度无死角剖析微服务
- ubuntu skill
- [360优化]让360安全卫士比火绒还好用 #调教360
- Qt 之 QToolBox
- Java网络编程(BIO和NIO)
- TCP三次握手(详解)
- 华中科技大学计算机证书领取,华中科技大学计算机水平测试软考报名通知
- 3D pose estimation 综述
- vue组件深度传值provide、inject,值类型响应式的方法
- C 语言fseek, ftell调用失败(fseek返回非零值,ftell返回-1)
热门文章
- 异形隔离java剧情_异形隔离剧情发展是升级必走的道路
- 极致通缩和永动机模型,将推动 PlatoFarm 爆发
- 索尼文化变革催生低端DV
- 计算机无法安装win2008,安装win7或win2008提示安装程序无法创建新的系统分区的解决方法...
- 程序员:妹妹高考650多,她想选择互联网专业,我该怎么劝?
- window server 2003创建域控制器
- u盘不能从计算机辅助东西卷问题,U盘文件无法复制的原因分析及解决方法(图文详情)...
- Excel汉字转全拼以及首字母
- “速课小龙”项目冲刺
- applewatch与服务器连接中断,告诉你Apple Watch连不上iPhone该怎么办