catch the cow 抓住小黄牛

/*

农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:

1、从X移动到X-1或X+1,每次移动花费一分钟
2、从X移动到2*X,每次移动花费一分钟

假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?


*/

//java

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class catch_cow {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n,k;
Queue<Node> queue;
while(in.hasNext()){
n=in.nextInt();
k=in.nextInt();
queue=new LinkedList<Node>();
int walk=0;
queue.offer(new Node(n, 0));
while(!queue.isEmpty()){
Node node=queue.poll();
int x=node.x;
int step=node.step+1;
if(x+1==k||x-1==k||x*2==k){
walk=step;
break;
}
if(x*2>=0&&x*2<=100000){
queue.offer(new Node(x*2, step));
}
if((x-1)>=0&&(x-1)<=100000){
queue.offer(new Node(x-1, step));
}
if((x+1)>=0&&(x+1)<=100000){
queue.offer(new Node(x+1, step));
}
}
System.out.println(walk);
}
}
}
class Node{
int x=0;
int step=0;
public Node(int x,int step){
this.x=x;
this.step=step;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序中的try-catch是一种错误处理机制,用于捕获和处理代码中可能发生的错误。在JavaScript中,使用try关键字将可能抛出异常的代码块放在try代码块中,然后使用catch关键字来捕获并处理异常。如果try代码块中的代码发生了错误,catch代码块中的代码将被执行。同时,可以使用finally关键字来执行在try-catch语句之后无论结果如何都会执行的代码块。 具体的执行规则如下: 1. 首先执行try代码块中的代码。 2. 如果try代码块中的代码抛出了异常,catch代码块将捕获并处理异常。 3. 如果try代码块中的代码没有抛出异常,catch代码块将被忽略。 4. 无论是否发生异常,finally代码块中的代码都会被执行。 小程序中的try-catch可以帮助开发者在程序运行时捕获和处理错误,从而提高程序的稳定性和可靠性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [小程序开发之 try {} catch (e) { } finally{} 解析](https://blog.csdn.net/JackJia2015/article/details/86533663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [try和catch的用法](https://blog.csdn.net/qq_59747594/article/details/126697084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值