当前位置:网站首页>Poj3278 catch the cow
Poj3278 catch the cow
2022-07-24 08:03:00 【bj_ hacker】
POJ3278 Catch the cow
subject
link
http://poj.org/problem?id=3278
Literal description
Catch That Cow
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 201124 Accepted: 61178
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
USACO 2007 Open Silver
Code implementation
It is recommended to use BFS, Large amount of data DFS Overtime
#include<cstdio>
#include<string.h>
using namespace std;
const int maxn=1e5+10;
int n,k;
int dis[maxn],que[maxn];
bool vis[maxn];
inline bool inbound(int x){
return x>=0&&x<=100000;}
int main(){
scanf("%d%d",&n,&k);
int head=0,tail=0;
que[tail++]=n;
vis[n]=true;
while(head<tail){
int x=que[head++];
if(x==k)break;
if(inbound(x+1)&&!vis[x+1]){
que[tail++]=x+1;
vis[x+1]=true;
dis[x+1]=dis[x]+1;
}
if(inbound(x-1)&&!vis[x-1]){
que[tail++]=x-1;
vis[x-1]=true;
dis[x-1]=dis[x]+1;
}
if(inbound(2*x)&&!vis[2*x]){
que[tail++]=2*x;
vis[2*x]=true;
dis[2*x]=dis[x]+1;
}
}
printf("%d\n",dis[k]);
return 0;
}
边栏推荐
- 加密熊市:有人大举扩张 有人裁员收缩
- Opencv project - credit card recognition (learning record)
- Collection of linked list topics
- [matlab] (III) application of MATLAB in Higher Mathematics
- jmeter中JSON提取器使用
- Kotlin coprocess analysis (III) -- understanding the context of coprocess
- Hcip day 9 notes
- 13.Unity2D 横版 可上下左右移动的双向平台(双向行走+可移动+单独判定)+随机平台生成
- Robot operation continuous learning thesis (1) original text reading and Translation -- primitive generation strategy learning without catastrophic forgetting in robot operation
- UVA572油田 Oil Deposits题解
猜你喜欢

Digital twin demonstration project -- Talking about simple pendulum (3) solid model exploration

33 introduction to sparksql, dataframe and dataset

Movie recommendation system

Generative model and discriminant model
![[matlab] (IV) application of MATLAB in linear algebra](/img/c8/97fddb4105008990173247b1b4a155.png)
[matlab] (IV) application of MATLAB in linear algebra

【线性代数】深入理解矩阵乘法、对称矩阵、正定矩阵

What is the NFT concept.. Fully understand NFT market, technology and cases

Hcip 13th day notes

Anaconda cannot shut down the method of forced shutdown

33-SparkSql的介绍、DataFrame和DataSet
随机推荐
Debug NO2 check for errors according to the process
Kotlin coprocess analysis (III) -- understanding the context of coprocess
EZDML reverse engineering import database analysis practical operation tutorial
Binary search common questions
Example of dictionary
Robot operation continuous learning thesis (1) original text reading and Translation -- primitive generation strategy learning without catastrophic forgetting in robot operation
As skillfully uses idea annotation to improve collaboration / development efficiency
The difference between online learning and offline learning
Typescript double question mark operator
Hcip 13th day notes
NFT概念究竟是怎么回事。。全面了解NFT市场、技术和案例
When does MySQL use table locks and row locks?
13. Unity2d horizontal version of two-way platform that can move up, down, left and right (two-way walking + movable + independent judgment) + random platform generation
[Beijiao] image processing: basic concepts, image enhancement, morphological processing, image segmentation
hcip第九天笔记
Math。 Round, numeric rounding, underlying code parsing
MySQL 啥时候用表锁,啥时候用行锁?
1005. Maximized array sum after K negations
Collection of linked list topics
Jetson AgX Orin source change