ACM 蓝桥杯练习题

Description

小A的宠物狗最近不听话了,经常乱跑,这不,小A又在找他的宠物狗了,好在小A在宠物狗身上安装了定位器,现在小A知道了宠物狗的位置,要去抓宠物狗,小A和宠物狗在同一条直线上,小A起始于点N(0 <= N <= 100000),宠物狗位于点k(0 <= N <= 100000),小A有以下两种移动方式。
(1)从X 移动到 X - 1或 X + 1,每次移动花费一分钟。
(2)从X 移动到2X,每次移动花费一分钟。
假设宠物狗不知道小A在找他,站在原地不动,那小A最少要花多少时间才能抓住宠物狗?

Input

输入只有一行,N和K。

Output

抓到牛要花到最少的时间。

Sample Input

5 17

Sample Output

4

AC代码

#include <stdio.h>
int countShortest(int N,int K){
	int count = 0,t;
	if(N < K){
		t = N;
		while(t < K){
		t += N;
		if(t < K)
        count++;
      else {
      	t -= N;
      	break;
      	}
		}
		count += (K - t);
	}
	else{
		count = N - K;
	}
	return count;
}
int main()
{
	int N,K,minutes;
	scanf("%d%d",&N,&K);
	minutes = countShortest(N,K);
	printf("%d\n",minutes);
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值