抓住那头牛

题目

题目描述

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

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

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

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

输入

两个整数,N和K

输出

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

样例输入

5 17

样例输出

4

思路

这道题是一道BFS,

农夫在每个点都有三条路可以选择,即类似于:在每一个结点都有三个相邻的结点。现在需要最短时间找到牛,所以用广搜是比较容易解决的。关键是要理清楚数据结构的问题。

因此,我们需要……无中生有暗度陈仓……生成一个数组,滨并将第一个设置为1(及走过的)

总之下来,这道题有点类似短路问题,确实BFS之中的精髓。

代码

#include<bits/stdc++.h>
using namespace std;
int vis[5000000];
int b[4];
int n,k;
queue <int> q;
void bfs(int n){
   q.push(n);
   while(!q.empty()){
       int tmp=q.front();
           if(tmp==k){
               cout<<vis[tmp]-1;
               return;
      }
b[1]=tmp-1;
      b[2]=tmp+1;
        b[3]=2*tmp;
      for(int i=1;i<4;i++){
           if(vis[b[i]]==0&&b[i]>=0&&b[i]<4*k){
              q.push(b[i]);
              vis[b[i]]=vis[tmp]+1;
          }
      }
      q.pop();
  }
}
int main(){
   cin>>n>>k;
   vis[n]=1;
   bfs(n);
   return 0;    
}

小编蒟蒻一个,有什么问题请大佬不惜赐教Orz

posted @   骆美辰  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
  1. 1 淋雨一直走 张韶涵
  2. 2 一期一会《未闻花名》(Cover 茅野愛衣,戸松遥,早見沙織) 周深
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
淋雨一直走 - 张韶涵
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 姚若龙

作曲 : Henrik Tala/Hermanni Kovalainen/Ilanguaq Lumholt

编曲 : DJ Mobster Productions

制作人 : Jae Chong

Oh~ 人都应该有梦

有梦就别怕痛

有雷声在轰不停

雨泼进眼里看不清

谁急速狂飙

溅我一身 的泥泞

很确定我想去哪里

往天堂要跳过地狱

也不恐惧

不逃避

这不是脾气

这不是脾气

是所谓志气 与勇气

你能推我下悬崖

我能学会飞行

从不听

谁的命令

很独立

耳朵用来听自己的心灵

淋雨一直走

淋雨一直走

是一颗宝石就该闪烁

人都应该有梦

Oh

有梦就别怕痛

淋雨一直走

是道阳光就该暖和

人都应该有梦

Oh

有梦就别怕痛

有前面盘旋的秃鹰

有前面盘旋的秃鹰

有背后尖酸的耳语

黑色的童话

是给长大的洗礼

要独特才是流行

无法复制的自己

让我连受伤也有型

这不是脾气

是所谓志气 与勇气

你能推我下悬崖

我能学会飞行

从不听

谁的命令

很独立

耳朵用来听自己的心灵

淋雨一直走

淋雨一直走

是一颗宝石就该闪烁

人都应该有梦

Oh

有梦就别怕痛

淋雨一直走

是道阳光就该暖和

人都应该有梦

Oh

有梦就别怕痛

有时掉进黑洞

有时掉进黑洞

有时掉进黑洞

有时候爬上彩虹

在下一秒钟

命运如何转动

没有人会晓得 Oh

我说希望无穷

你猜美梦成空

相信和怀疑

总要决斗

淋雨一直走

淋雨一直走

是一颗宝石就该闪烁

人都应该有梦

Oh

有梦就别怕痛

淋雨一直走

是道阳光就该暖和

人都应该有梦

Oh

有梦就别怕痛

淋雨一直走

淋雨一直走

是一颗宝石就该闪烁

人都应该有梦

Oh

有梦就别怕痛

淋雨一直走

是道阳光就该暖和

人都应该有梦

Oh

有梦就别怕痛

OC/OA : Hermanni Kovalainen/Ilanguaq Lumholt/Henrik Tala

配唱制作人 : Jae Chong

配唱制作人 : Jae Chong

计算机程序编写 : DJ Mobster

录音师 : 潘尧泓

录音室 : Lights Up Studio (台北)

混音师 : Jae Chong

混音室 : AZIATIX Studio

OP : Warner/Chappell Music Finland / DJ Mobster Publishing

SP : Warner/Chappell Music Taiwan Ltd.

ISRC TW-R03-12-02003

lock: { enable: true, background: 'https://img1.baidu.com/it/u=2788089125,168843488&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1690563600&t=35fa4326e773b3fbf83562ad746b7cd2',//锁屏背景 strings: [ 'Every win named never give up 每一份胜利都叫不放弃',//签名 ], },
点击右上角即可分享
微信分享提示