博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电Problem-2717
阅读量:6245 次
发布时间:2019-06-22

本文共 1884 字,大约阅读时间需要 6 分钟。

Catch That Cow

Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10820    Accepted Submission(s): 3374
Problem 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.
 
#include 
#include
#include
using namespace std;struct node { int x,step;}temp, p;bool vis[10000005];int d[2] = {1,-1};int bfs(int a, int b){ memset(vis,false,sizeof(vis)); queue
q; while (!q.empty()) q.pop(); p.x = a; p.step = 0; q.push(p); vis[a] = true; while (q.size()) { p = q.front(); q.pop(); if(p.x == b) return p.step; for(int i = 0; i < 3; i++) { if (i == 2) temp.x = p.x * 2; else temp.x = p.x + d[i]; if (temp.x < 0 || vis[temp.x] || temp.x>100000) continue; vis[temp.x] = true; temp.step = p.step + 1; q.push(temp); } } return -1;}int main(){ int n, k; while (scanf("%d %d", &n, &k) != EOF) { int ans = bfs(n,k); printf("%d\n", ans); } return 0;}

转载于:https://www.cnblogs.com/cniwoq/p/6770975.html

你可能感兴趣的文章
异常处理
查看>>
Python多线程程序中的MYSQL连接管理研究
查看>>
Prometheus学习系列(七)之名词解析
查看>>
一文彻底搞懂Dart的event队列
查看>>
iOS面试题06-其他
查看>>
JSON和JSONP
查看>>
2019年互联网女皇趋势报告:小程序创新创业商业模式引领全球
查看>>
C# 递归模型定义。赋值
查看>>
复合文字
查看>>
建立TCP连接的三次握手
查看>>
2017年软件工程第四次作业-1代码规范
查看>>
apache与jetty整合,用mod_proxy
查看>>
[转]使用 C++11 编写 Linux 多线程程序
查看>>
[译]Kinect for Windows SDK开发入门(六):骨骼追踪基础 上
查看>>
[译]Kinect for Windows SDK开发入门(八):骨骼追踪进阶 上
查看>>
关于数据库设计--博客系统2
查看>>
AWS 认证攻略(SA)
查看>>
iOS完整学习路线图
查看>>
JAVA_Thread_生产消费模式
查看>>
IceCTF-Matrix
查看>>