atcodeABC270场

#B - Hammer

 

 

题目大意


这个问题是关于一个人在数轴上的移动。Takahashi在数轴的原点,他想要到达坐标X的目标位置。在坐标Y有一堵墙,Takahashi一开始不能越过。但是,当他在坐标Z拾起一把锤子后,他可以破坏那堵墙并通过。确定Takahashi是否可以到达目标。如果可以,找出他需要行走的最小总距离。
 

分析


为了解决这个问题,需要确定Takahashi是否可以到达目标,并找出他需要行走的最小总距离。可以通过比较目标位置、墙的位置和锤子的位置来确定Takahashi是否可以到达目标。然后,可以通过计算他需要行走的距离来找出最小总距离。
 

思路


可以先比较目标位置、墙的位置和锤子的位置。如果目标位置在墙的另一侧,那么Takahashi需要先去拾起锤子,然后破坏墙,最后到达目标。如果目标位置在墙的同一侧,那么Takahashi可以直接到达目标。
 

所用知识点


这个问题主要涉及到的知识点是比较和基本的算术运算。

**abs(X)调用了C++标准库中的abs函数,用于计算一个整数的绝对值。

CC - Simple path

 

题目大意


这个问题是关于一棵有N个顶点的树T。第i条边(1≤i≤N−1)连接顶点U_i和顶点V_i。给定树T中的两个不同顶点X和Y,按顺序列出从顶点X到顶点Y的简单路径上的所有顶点,包括端点。可以证明,在树中的任何两个不同顶点a和b之间,都存在一个唯一的简单路径。
 

分析


为了解决这个问题,需要找出从顶点X到顶点Y的简单路径上的所有顶点。可以通过深度优先搜索(DFS)来找出这个路径。
 

思路


可以从顶点X开始进行深度优先搜索,直到找到顶点Y。在搜索过程中,需要记录下访问过的顶点,这些顶点就是我们需要的路径。
 

所用知识点


这个问题主要涉及到的知识点是深度优先搜索(DFS)和图的基本概念。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值