Catch That Cow——BFS
【題目描述】
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.
-
Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute
-
Teleporting: FJ can move from any point X to the point 2 × X in a single minute.
If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input
Line 1: Two space-separated integers: N and K
Output
Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input5 17
Sample Output
4Hint
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
【題目分析】
剛開始一直想用DFS做,還加上了記憶化,可是還是一直超時,對于這種求最少值 的問題,還是BFS比較有優勢,因為隊列本身自帶最少屬性(步數少加入的早,就總在前面),而且BFS沒怎么優化就過了,說明數據還是比較友好的。
代碼
總結
以上是生活随笔為你收集整理的Catch That Cow——BFS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lol法外狂徒出电刃和出红叉哪个好
- 下一篇: Find The Multiple——简