日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ - 3278 Catch That Cow 简单搜索

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ - 3278 Catch That Cow 简单搜索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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<iostream> #include<queue> #include<algorithm> #include<set> #include<cmath> #include<vector> #include<map> #include<stack> #include<bitset> #define Swap(a,b) a^=b^=a^=b #define cini(n) scanf("%d",&n) #define cinl(n) scanf("%lld",&n) #define cinc(n) scanf("%c",&n) #define coui(n) printf("%d",n) #define couc(n) printf("%c",n) #define coul(n) printf("%lld",n) #define speed ios_base::sync_with_stdio(0);//?D2??éó?scnaf£? #define Max(a,b) a>b?a:b #define Min(a,b) a<b?a:b using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; const int maxn=1e6+10; const double esp=1e-9; int m,n,x,y; int cnt,mini=INF; bool flag[maxn]; int bfs(int x); int main() {cin>>m>>n;cout<<bfs(m)<<endl; } int bfs(int x) {queue<pair<int,int> > t;t.push(make_pair(x,0));while(!t.empty()){pair<int,int>w=t.front();if(w.first==n)break;t.pop();w.first++,w.second++;if(w.first<0||w.first>100000||flag[w.first]);else t.push(w),flag[w.first]=1;w.first-=2;if(w.first<0||w.first>100000||flag[w.first]);else t.push(w),flag[w.first]=1;w.first++;w.first*=2;if(w.first<0||w.first>100000||flag[w.first]);else t.push(w),flag[w.first]=1;}return t.front().second; }

?

總結

以上是生活随笔為你收集整理的POJ - 3278 Catch That Cow 简单搜索的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。