POJ 3278 Catch That Cow —————— BFS

POJ 3278 Catch That Cow(BFS 剪枝) 题目链接:http://poj.org/problem?id=3278 这几次都是每天的第一道题都挺顺利,然后第二道题一卡一天。 = =,今天的这道题7点40就出来了,不知道第二道题在下午7点能不能出来。0 0 先说说这道题目,大意是有个农夫要抓牛,已知牛的坐标,和农夫位置。而且农夫有三种移动方式,X + 1,X - 1,X * 2,问最少几步抓到牛。 开始认为很简单的,三方向的BFS就能顺 阅读详情

Language:Default
Catch That Cow
Time Limit: 2000MSMemory Limit: 65536K
Total Submissions: 120100Accepted: 37481

Description

Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.

* Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute
* Teleporting: FJ can move from any point X to the point 2 × X in a single minute.

If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?

Input

Line 1: Two space-separated integers: N and K

Output

Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.

Sample Input

5 17

Sample Output

4

Hint

The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.

Source

—-
/*
    2018/9/9

    BFS
    x 有三个搜索方向
    x+1;
    x-1;
    x*2;
    优先队列,找最短时间
*/

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<queue>
using namespace std;
const int MAXN=1e6+9;
int n,k;
bool vis[MAXN];
struct node{
    int x,step;
    node(){};
    node(int _x,int _step)
    {
        x=_x; step=_step;
    }
    bool operator < (const node &b)const
    {
        return step==b.step?x<b.x:step>b.step;
    }
};

int bfs(int x)
{
    memset(vis,0,sizeof(vis));
    vis[x]=1;
    node e1,e2;
    priority_queue<node> que;
    que.push(node(x,0));
    int ans=0;
    while(que.size())
    {
        e1=que.top();que.pop();
        if(e1.x==k)
        {
            ans=e1.step;
            break;
        }
        if(!vis[e1.x+1])
        {
            vis[e1.x+1]=1;
            que.push(node(e1.x+1,e1.step+1));
        }
        if(e1.x>0 && !vis[e1.x-1])
        {
            vis[e1.x-1]=1;
            que.push(node(e1.x-1,e1.step+1));
        }
        if(e1.x<=200000 && !vis[e1.x*2])
        {
            vis[2*e1.x]=1;
            que.push(node(e1.x*2,e1.step+1));
        }
    }
    return ans;
}

int main()
{
    while(~scanf("%d %d",&n,&k))
        printf("%d\n",bfs(n));
    return 0;
}




基于Arduino与光电传感器的心率监测系统:从原理到实现的完整指南 光电式心率监测是一种基于光电容积脉搏波描记法(PPG)的非侵入式生命体征测量技术。其核心原理是利用特定波长光线照射皮肤组织,通过检测因血液容积周期性变化导致的反射光强微弱波动,来获取心率信息。这项技术的关键价值在于实现了低成本、便携化的连续生理参数监测,广泛应用于健康管理、运动科学及嵌入式系统教学领域。在工程实践中,信号处理算法(如移动平均滤波与动态阈值峰值检测)对提升测量精度至关重要。本文以Arduino平台为例,详细解析了如何集成MAX30102或Pulse Sensor Amped等光电传感器,结合T 阅读详情

相关推荐

手把手教你用QEMU模拟AST2600-EVB开发板:OpenBMC环境搭建全流程

本文提供了一份详尽的实战指南,手把手教你使用QEMU模拟器搭建AST2600-EVB开发板的OpenBMC环境。内容涵盖从工具链准备、系统镜像获取(官方与自编译),到QEMU启动命令解析、网络配置(用户与桥接模式),以及通过SSH、WebUI和Redfish API访问服务的全流程,帮助开发者在个人电脑上快速构建安全、可复现的嵌入式开发与测试沙盒。

play7的博客 1132

POJ 3278 Catch That Cow 【bfs+队列】

原题链接:http://poj.org/problem?id=3278 算法:bfs+队列+STL(C++) PS:bfs入门题目,好高兴啊,终于会用bfs了。 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 32679   Accepted:

free斩 1万+

PHY6252开发实战:从零构建BLE串口透传应用

本文详细介绍了PHY6252开发板在BLE串口透传应用中的实战经验,包括开发环境搭建、BLE串口透传例程解析、AT指令集实现与扩展、数据透传机制优化以及常见问题排查指南。通过智能家居遥控器项目案例,展示了PHY6252在低功耗物联网设备开发中的实际应用。

weixin_29183637的博客 313

POJ.3278 Catch That Cow (BFS)

POJ.3278 Catch That Cow (BFS)题意分析求最少的操作次数,暴力就用BFS。 这题坑点挺多,一开始交上去无限RE,摸不着头脑,后来发现后数组越界了。因为存在-1的操作和*2的操作 ,不加判断就直接越界。 这告诉我们一个道理,光把数组开大点,是没有用的。代码总览#include <iostream> #include <cstdio> #include <algorithm

Pengwill's Blog 327

解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法

在启用了Credential Guard或Device Guard的Windows 10主机上启动12.5版之前的VMware Workstation中的虚拟机时,将显示蓝色诊断屏幕(BSOD)。 会看到类似于以下内容的错误: VMware Workstation和Device / Credential Guard不兼容。禁用Device / Credential Guard后,可以运行VMwar...

Hern(宋兆恒) 39万+

《揭秘 BME688人工智能压力湿度温度气体传感器:气体检测的多面能手》:此文为AI自动生成

BME688 是博世推出的一款具有人工智能和集成高线性度高精度压力、湿度、温度传感器的气体传感器,专为移动和联网应用开发,尺寸紧凑且低功耗。BME688 作为一款先进的传感器,在多个领域展现出卓越的性能。它采用了坚固而紧凑的 3.0 x 3.0 x 0.9 mm³ 封装,这种小巧的尺寸使其能够轻松应用于对空间要求严格的移动设备和联网应用中。同时,低功耗的特性也使得它在能源有限的环境下能够长时间稳定运行。

zheng_ruiguo的专栏 1930

POJ.3278 Catch That Cow (BFS)

POJ.3278 Catch That Cow (BFS)题意分析给出给出初始坐标N,你可以执行的操作有N-1,N+1,N*2,求出最少需要几次操作,使得N=K。BFS时每次有3种操作,按照操作来即可。特别需要注意越界的问题,坐标不能小于0,也不能大于题目给的最大值100000.然后就没太大问题。一开始因为忘记数组越界的问题,RE了几次。代码总览#include <queue> #include <

Pengwill's Blog 273

YOLOv8实战:用Labelme标注自定义数据集并训练分割模型(附完整代码)

本文详细介绍了使用Labelme标注自定义数据集并训练YOLOv8实例分割模型的完整流程。从环境搭建、数据标注与格式转换,到模型训练、调优、验证及部署,提供了实战代码和调优建议。文章还探讨了如何结合追踪目标技术,实现视频流中的实例分割与目标追踪,为计算机视觉应用提供了一套可复制的解决方案。

552

kuangbin 简单搜索 - POJ - 3278 Catch That Cow (简单bfs)

3.kuangbin 简单搜索 - POJ - 3278 Catch That Cow (简单bfs) 简单bfs #include<cstdio> #include<iostream> #include<cstring> #include<string> #include<cmath> #include<algorithm> #include<queue> #define IOS ios::sync_with_std

ACM-ICPC 现役(铜牌) Codeforces Rating: 2172 203

基于 YOLOv26 的食品包装缺陷检测系统:智能视觉质检方案

本文提出了一种基于YOLOv26深度学习的食品包装缺陷智能检测系统。该系统能够自动识别多种常见包装缺陷,包括密封不良、破损、污染、标签错误等8类问题。相比传统人工检测方法,该系统具有高精度、多类别分类、实时推理等优势。文章详细介绍了系统架构,包含数据采集、预处理、YOLOv26检测模型和后处理四个核心模块,并提供了完整的环境配置和数据处理代码实现。该系统为食品包装行业提供了一种高效、准确的智能视觉质检解决方案。

一键难忘的博客 683

2025届程序技术类笔试题

希尔排序在直接插入排序的基础上进行了改进,它通过比较相距一定间隔的元素来进行,各轮比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一轮排序为止。某人逆着水流的方向向岸边划船,每次行进前进x米后需要休息一下,休息期间船会自行倒退y米,每次休息后再次行进,前进距离缩短1/5,若起始距离岸边为m米,问:能否到达岸上,需要行进多少次才能上岸。直接插入排序的原理是将第i个元素插入前面i-1个已排好序的记录中,将比第i个元素大的记录依次向后移动一个位置,将第i个元素插入空位。第二轮相邻比较,后移2次。

博客 594

POJ 3278 Catch That Cow --- 简单BFS

/* POJ 3278 Catch That Cow --- 简单BFS */ #include <cstdio> #include <queue> #include <cstring> using namespace std; const int maxn = 100005; bool visit[maxn]; int step...

weixin_30711917的博客 117

黑猫带你学eMMC协议第9篇:eMMC初始化过程(initial)

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 什么是emmc的初始化 对于小白来说,可能不太明白什么是emmc初始化。举个栗子:当你拿到一个电脑,接上电源,是不是就立马可以用了呢?并不是吧,你还需要去开机,等待电脑启动,配置完各种参数,等出现了电脑桌面,你才能用。那么同样,对于emmc芯片来说,也不是提供电源就能用了,需要输入各种命令后,让其进入到tran state后,才能正.

黑猫奥利奥的博客 6741

POJ 3278 Catch That Cow(BFS)

题目网址:http://poj.org/problem?id=3278 题目: Catch That Cow Time Limit:2000MS Memory Limit:65536K Total Submissions:92360 Accepted:28999 Description Farmer John has ...

weixin_30483697的博客 69

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[POJ 3278]Catch That Cow[BFS]

题目链接:[POJ 3278]Catch That Cow[BFS] 题意分析: 农夫每次可以向左或者向右走,或者跳跃到当前位置的两倍位置上。问:最少几次操作可以到达奶牛的K位置 解题思路: 从起点BFS即可。注意边界条件和访问标记量。 个人感受: 虽然简单,还是ME+WA。ME是因为忘记标记访问量,WA是因为边界上的2*X 具体代码如下: #include #include #i

闲停 610

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

BFS(广度优先搜索)-POJ3278-Catch That Cow(抓住那头牛)

BFS(广度优先搜索)-POJ3278-Catch That Cow(抓住那头牛) 题目链接:Catch That Cow BFS: 广度优先搜索(Breadth First Search, BFS)是对树的逐层遍历,通过距终点状态由远到近对所有可能的状态进行搜索并剪枝,一般用于求解达到某目标的最小步骤数。 思路:         有两点需要说明:          ...

[SZU_Crayon] 1211

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[POJ3278]Catch That Cow【BFS】

[POJ3278]Catch That Cow 这题就是一道简单的BFS,每分钟有三种情况。 1. x + 1 2. x - 1 3. x * 2 这题就解完了。。。 另外注意,如果越界,也就是x不在0−105之间那么就不走。 代码如下: #include<cstdio> #define MAXN 100000 u...

aiweiluan5095的博客 109

【POJ 3278 --- Catch That Cow】队列 || bfs

【POJ 3278 --- Catch That Cow】队列 || bfs 题目来源:点击进入【POJ 3278 — Catch That Cow】 Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at...

来日浅谈的博客 575

POJ3278 Catch That Cow —— BFS

题目链接:http://poj.org/problem?id=3278 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 97563   Accepted: 30638 Description Farmer John

A man can be destroyed, but not defeated. 448

poj 3278 Catch That Cow BFS

http://acm.pku.edu.cn/JudgeOnline/problem?id=3278poj 3278 Catch That Cow Time Limit:2000MS  Memory Limit:65536KTotal Submit:2315 Accepted:530 DescriptionFarmer John has been informed of the loca

Michael.Shi—History is to be made from now 1542

POJ 3278 Catch That Cow(BFS)

POJ 3278 Catch That Cow(BFS) Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN(0 ≤N≤ 100,000) on ...

WBA 335

POJ - 3278 Catch That Cow 【BFS】

题目链接 http://poj.org/problem?id=3278 题意 给出两个数字 N K 每次 都可以用三个操作 + 1 - 1 * 2 求 最少的操作次数 使得 N 变成 K 思路 BFS 但是要注意 设置 数组的范围 小心 RE AC代码 #include <cstdio> #include &...

banshen0201的博客 124

poj 3278 Catch That Cow 【bfs】

Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 52335   Accepted: 16416 Description Farmer John has been informed of the location of a fugit

shengweisong 826

POJ3278 Catch That Cow BFS

题源:http://poj.org/problem?id=3278 题意:一个坐标轴的正半轴,有起点和终点。从起点开始,每次可以选择向左或向右移动一格,或者坐标乘以二,每次移动耗时为1,问最快多久到终点。 思路:BFS,注意不越界。 下面是AC代码。 #include<iostream> #include<cstdio> #include<cstring> #i...

枚举星星 263

POJ 3278 Catch That Cow【bfs】

POJ 3278 Catch That Cow【bfs】 Catch That Cow

zxc13936130136的博客 492

POJ3278 Catch That Cow(BFS)

题目链接:http://poj.org/problem?id=3278 题意:   在一个数轴上(0 ~ 100000),给你农夫J的位置N,和牛cow的位置K,农夫有三种移动的方式:左移一步(X - 1,X为当前位置);右移一步(X + 1);右移2*X步(2 * X);问农夫最少移动多少步可以追赶到牛,牛是原地不动的. 思路:   既然问的是最少移动多少步,最容易想到的就是暴...

dimaishu7553的博客 133
上一篇: POJ 2251 Dungeon Master ——————BFS
下一篇: POJ 1426 Find The Multiple ——————DFS
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值