问题 W: 抓住那头牛

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:1978 通过:1006

题目描述

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

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

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

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



https://www.ixigua.com/7169613828391600680

输入格式

两个整数,N和K。


输出格式

一个整数,农夫抓到牛所要花费的最小分钟数。


输入样例 复制

5 17

输出样例 复制

4

数据范围与提示

int n,k;
int vis[200005];
int dir[3];
queue<int>q; 
void bfs(){//b fisrt searach
  //0 把起点入队
  while(!q.empty()) {
  //1 取出队头元素 x
  //2 判断x是否是 目标状态
  //3 如果不是的话 求接来下可行的位置,
  //3.1 得到预选位置
  //3.2 判断该位置是否和合法位置
  //3.3 如果合法,更新状态,入队 
  }
}


视频讲解:https://www.ixigua.com/7169613828391600680

分类标签