POJ-3278-Catch That Cow
生活随笔
收集整理的這篇文章主要介紹了
POJ-3278-Catch That Cow
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
鏈接:https://vjudge.net/problem/POJ-3278
題意:
給定n,k。有三種操作n-1,n+1,n*2。
找到從n到k的最少步驟。
思路:
BFS
代碼:
#include <iostream> #include <queue> using namespace std; const int MAXN = 1e5+10; struct Node {int _x;int _step;Node(int x,int step){_x = x;_step = step;} }; int vis[MAXN];int main() {int n,k;scanf("%d%d",&n,&k);queue<Node> Q;Q.push(Node(n,0));vis[n] = 1;while (!Q.empty()){int x = Q.front()._x;int step = Q.front()._step;if (x == k)break;if (x-1 >= 0&&x-1<MAXN&&vis[x-1] == 0){Q.push(Node(x-1,step+1));vis[x-1] = 1;}if (x+1 >= 0&&x+1<MAXN&&vis[x+1] == 0){Q.push(Node(x+1,step+1));vis[x+1] = 1;}if (x*2 >= 0&&x*2<MAXN&&vis[x*2] == 0){Q.push(Node(x*2,step+1));vis[x*2] = 1;}Q.pop();}printf("%d\n",Q.front()._step);return 0; }
轉(zhuǎn)載于:https://www.cnblogs.com/YDDDD/p/10266679.html
總結(jié)
以上是生活随笔為你收集整理的POJ-3278-Catch That Cow的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2 学习笔记之数据类型
- 下一篇: 网页布局基础