当前位置:网站首页>抓住那头牛(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;
}
边栏推荐
- W25Q16 存储器(Flash)
- 今天突然下雨
- ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!
- 复制延迟案例(3)-单调读
- Live | 7.30 ApacheCon Asia 2022 IOT/IIOT topic, IoTDB PMC Qiao Jialin as the producer
- ADSP21489工程中LDF文件配置详解
- 高等数学(第七版)同济大学 总习题三(前10题) 个人解答
- P1012 [NOIP1998 提高组] 拼数
- CaDDN paper reading of monocular 3D target detection
- 违约金过高”的认定依据
猜你喜欢

How to save a section of pages in a PDF as a new PDF file

CaDDN code debugging

LeetCode 23: 合并K个升序链表

ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!

复制延迟案例(2)-读己之写

批量--10---根据set数拆分文件

从头开始实现YOLOV3

复制延迟案例(3)-单调读

The line chart with square PyQt5_pyqtgraph mouse

Camtasia 2022简体中文版屏幕录像和视频编辑软件
随机推荐
P1192 台阶问题
Minecraft 1.18.1, 1.18.2 module development 23.3D animation armor production
JDBC再回顾
Arduino框架下STM32F1/F4系列HID模式程序烧录教程
复制延迟案例(4)-一致前缀读
ADSP21489工程中LDF文件配置详解
压缩包密码如何快速删除?
Deep Blue Academy - Handwritten VIO Homework - Chapter 2
力扣练习——45 二叉树的锯齿形层次遍历
捷信将ESG理念注入企业DNA致力于提供“负责任的消费金融服务”
LeetCode 23: 合并K个升序链表
学内核之五:问题一,关于上下文切换
ADSP21489仿真:Failed to set breakpoint: Can‘t set breakpoints in the current state: Running
The line chart with square PyQt5_pyqtgraph mouse
Deep blue college - handwritten VIO operations - the first chapter
【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真
Go 语言是如何实现切片扩容的?【slice】
6个月测试经验,面试跳槽狮子大开口要18K,只会点点点,给我整无语了。。
1318_将ST link刷成jlink
康威定律对于系统架构很重要吗?