【POJ3278】Catch That Cow
本题知识点:宽度优先搜索
题意很简单,我们把FJ与奶牛看作是在一条数轴上的点,奶牛固定在K点,FJ的移动有三种,分别是向前一格,向后一格以及跳到当前格的两倍去。问FJ花费最少的时间到达奶牛的点。
这题当意识到他们在数轴上时,结合bfs的思想就很快可以解决了。
数据很小。
// POJ 3278
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
int N, K;
bool take[100005];
int len[100005];
queue<int> que;
void bfs(){
    len[N] = 0;
    take[N] = true;
    que.push(N);
    while(!que.empty()){
        int now = que.front(); que.pop();
        if(now == K) break;
        // 跳到 K 的后面就可以 -1 了
        if(now * 2 <= K + 1 && !take[now * 2]){
            len[now * 2] = len[now] + 1;
            take[now * 2] = true;
            que.push(now * 2);
        }
        if(now + 1 <= K + 1 && !take[now + 1]){
            len[now + 1] = len[now] + 1;
            take[now + 1] = true;
            que.push(now + 1);
        }
        if(now - 1 >= 0 && !take[now - 1]){
            len[now - 1] = len[now] + 1;
            take[now - 1] = true;
            que.push(now - 1);
        }
    }
}
int main()
{
    scanf("%d %d", &N, &K);
    bfs();
    printf("%d\n", len[K]);
    return 0;
}
												
											【POJ3278】Catch That Cow的更多相关文章
- 【BZOJ3939】[Usaco2015 Feb]Cow Hopscotch 动态规划+线段树
		
[BZOJ3939][Usaco2015 Feb]Cow Hopscotch Description Just like humans enjoy playing the game of Hopsco ...
 - 【BZOJ1604】[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Treap+并查集
		
[BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Description 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000) ...
 - 【OpenJ_Bailian - 4001】 Catch That Cow(bfs+优先队列)
		
Catch That Cow Descriptions: Farmer John has been informed of the location of a fugitive cow and wan ...
 - 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
		
SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...
 - 树的直径 【bzoj3363】[Usaco2004 Feb]Cow Marathon 奶牛马拉松
		
3363: [Usaco2004 Feb]Cow Marathon 奶牛马拉松 Description  最近美国过度肥胖非常普遍,农夫约翰为了让他的奶牛多做运动,举办了奶牛马拉松.马拉 松路线要尽 ...
 - 【bzoj3939】[Usaco2015 Feb]Cow Hopscotch  动态开点线段树优化dp
		
题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John's cows have invented a varian ...
 - 【bzoj1616】[Usaco2008 Mar]Cow Travelling游荡的奶牛  bfs
		
题目描述 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见 ...
 - 【bzoj3298】[USACO 2011Open]cow checkers(博弈论)
		
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3298 博弈论经典结论题,我也没什么好说的.matrix67大佬比我想得深入的多:捡石子 ...
 - 树的直径【bzoj3363】 [Usaco2004 Feb]Cow Marathon 奶牛马拉松
		
Description 最近美国过度肥胖非常普遍,农夫约翰为了让他的奶牛多做运动,举办了奶牛马拉松.马拉松路线要尽量长,所以,告诉你农场的地图(该地图的描述与上题一致),请帮助约翰寻找两个最远农场间的 ...
 
随机推荐
- Win10安装IIS并配置ASP.NET 4.0
			
这几天新购置了电脑家用,自家电脑上上了win10+Ubuntu.解决了双系统的一些坑之后,今天准备给win10装IDE了(虽然想在Ubuntu下搞搞React/Python之类的,但我骨子里还是个.N ...
 - 实现SpringCloud Config 客户端自动刷新
			
文章来源:https://blog.csdn.net/qq_27385301/article/details/82716218 一.简介 在使用SpringCloud Config客户端时,如果Con ...
 - tqdm()与set_description()的用法
			
pbar=tqdm(range(55156))for i in pbar: # print(i) a=464443161*845113131 pbar.set_description("tr ...
 - 2019 盛天网络java面试笔试题 (含面试题解析)
			
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.盛天网络等公司offer,岗位是Java后端开发,因为发展原因最终选择去了盛天网络,入职一年时间了,也成为了面 ...
 - Java自学-接口与继承 内部类
			
Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore "战斗成绩" 非静态内部类可以直接在 ...
 - drf--权限组件
			
目录 权限简介 局部使用 全局使用 源码分析 权限简介 权限就是某些功能只对特定的用户开放,比如django中创建用户可分为超级用户和普通用户,此时超级用户就有权限进入后台管理系统,而普通用户就没有权 ...
 - js中 !==和 !=的区别是什么
			
1.比较结果上的区别 !=返回同类型值比较结果. !== 不同类型不比较,且无结果,同类型才比较. 2.比较过程上的区别 != 比较时,若类型不同,会偿试转换类型. !== 只有相同类型才会比较. 3 ...
 - CSS揭秘-半透明边框与多重边框
			
场景一: 实现半透明边框: 由于CSS样式的默认行为,背景色的渲染范围是 content+padding+border. 半透明边框被主调色影响, 实现的效果为 解决方案: 使用backgroun ...
 - Java 7 NIO.2学习(Ing)
			
Path类 1.Path的基本用法 Path代表文件系统中的位置,即文件的逻辑路径,并不代表物理路径,程序运行的时候JVM会把Path(逻辑路径)对应到运行时的物理位置上. package com.j ...
 - kbmmw 中的Boyer-Moore算法
			
kbmmw 5.10 版本中实现了一个非常好用的字符串搜索算法,即Boyer-Moore算法. 在用于查找子字符串的算法当中,BM(Boyer-Moore)算法是目前被认为最高效的字符串搜索算法, 它 ...