当前位置:网站首页>抓住那头牛(DAY 96)
抓住那头牛(DAY 96)
2022-08-02 04:22:00 【张学恒】
1:题目
农夫知道一头牛的位置,想要抓住它。
农夫和牛都位于数轴上,农夫起始位于点 N,牛位于点 K。
农夫有两种移动方式:
从 X 移动到 X−1 或 X+1,每次移动花费一分钟
从 X 移动到 2∗X,每次移动花费一分钟
假设牛没有意识到农夫的行动,站在原地不动。
农夫最少要花多少时间才能抓住牛?
输入格式
共一行,包含两个整数N和K。
输出格式
输出一个整数,表示抓到牛所花费的最少时间。
数据范围
0≤N,K≤105
输入样例:
5 17
输出样例:
4
2:代码实现
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n, k;
int path[N];
queue<int> q;
int op(int n, int t) {
if (t == 1) return n - 1;
if (t == 2) return n + 1;
if (t == 3) return n * 2;
}
int bfs(int n, int k) {
memset(path, 0, sizeof (path));
q.push(n);
path[n] == 0;
while (q.size()) {
auto t = q.front(); q.pop();
for (int i = 1; i <= 3; i++) {
int result = op(t, i);
if (result >= 0 && result <= k + 1 && path[result] == 0)
{
path[result] = path[t] + 1;
if (result == k) return path[result];
q.push(result);
}
}
}
return -1;
}
int main() {
cin >> n >> k;
if (n >= k)
{
cout << n - k;
return 0;
}
cout << bfs(n, k) << endl;
return 0;
}
边栏推荐
- 高等数学(第七版)同济大学 总习题三(前10题) 个人解答
- Line generation 005
- 如何让固定点的监控设备在EasyCVR平台GIS电子地图上显示地理位置?
- W25Q16 存储器(Flash)
- lvm扩容(实战无废话)
- 深度剖析-class的几个对象(utlis,component)-瀑布流-懒加载(概念,作用,原理,实现步骤)
- The line chart with square PyQt5_pyqtgraph mouse
- C# Thread IsBackground作用
- PDF文件转换格式
- Minecraft 1.18.1, 1.18.2 module development 23.3D animation armor production
猜你喜欢
Scientific research notes (5) SLAC WiFi Fingerprint+ Step counter fusion positioning
【STM32】ADC采集光敏数据(不看库函数手册进行配置)
数据复制系统设计(2)-同步复制与异步复制
从事功能测试1年,裸辞1个月,找不到工作的“我”怎么办?
ClickHouse的客户端命令行参数
CaDDN code debugging
复制延迟案例(2)-读己之写
爬虫_爬取wasde月度供需平衡表(实例)
Excel如何解密工作表保护
ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!
随机推荐
立方体卫星Light-1
张成分析(spanning test):portfolio_analysis.Spanning_test
什么是接触电流怎么测?
MySQL read-write separation mysql-proxy deployment
【面试】招聘要求
【FreeRTOS】12 任务通知——更省资源的同步方式
OpenPCDet environment configuration of 3 d object detection and demo test
【STM32】ADC采集光敏数据(不看库函数手册进行配置)
如何让固定点的监控设备在EasyCVR平台GIS电子地图上显示地理位置?
2022 Huawei Software Elite Challenge (Preliminary) - Summary
力扣练习——38 分割回文串
论人生自动化
力扣练习——45 二叉树的锯齿形层次遍历
6个月测试经验,面试跳槽狮子大开口要18K,只会点点点,给我整无语了。。
浅学一下二叉树的顺序存储结构——堆
ClickHouse的客户端命令行参数
PDF文件转换格式
学内核之五:问题一,关于上下文切换
Qt FAQ
多主复制的适用场景(2)-需离线操作的客户端和协作编辑