POJ 4001 抓住那头牛(广度优先搜索)

原创 2018年04月17日 19:57:02

题目链接
http://bailian.openjudge.cn/practice/4001/

#include <iostream>
#include <queue>
#include <cstdio>

using namespace std;

int N, K;
int vis[201000];

struct point
{
    int pos;
    int step;
    point(int p, int s)
    {
        pos = p;
        step = s;
    }
};

int main()
{
    scanf("%d%d", &N, &K);
    queue<point> q;
    q.push(point(N, 0));      // 农夫初始位置
    int end_step = -1;

    while(!q.empty())
    {
        point this_pos = q.front();
        q.pop();

        int x = this_pos.pos, step = this_pos.step;
        if(x == K)
        {
            end_step = step;
            break;
        }

        if(x-1>=0 && x-1<=100000 && vis[x-1]==0)
        {
            q.push(point(x-1, step+1));
            vis[x-1] = 1;
        }
        if(x+1>=0 && x+1<=100000 && vis[x+1]==0)
        {
            q.push(point(x+1, step+1));
            vis[x+1] = 1;
        }
        if(x*2<=100000 && x*2>=0 && vis[x*2]==0)
        {
            q.push(point(x*2, step+1));
            vis[x*2] = 1;
        }
    }
    printf("%d\n", end_step);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pku_Coder/article/details/79979820

SharePoint 搜索教程

-
  • 1970年01月01日 08:00

POJ3278==抓住那头牛

//算法: 裸搜 (BFS) #include #include #include using namespace std; int N, K; const int MAXN = 100000 + ...
  • czkct
  • czkct
  • 2016-02-19 21:44:22
  • 1256

poj 4001 抓住那头牛 (广度优先搜索算法)

题目链接:http://bailian.openjudge.cn/practice/4001
  • njukingway
  • njukingway
  • 2014-06-22 11:10:10
  • 2751

抓住那头牛(POJ NO.2971)

抓住那头牛(POJ NO.2971) 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0...
  • qq_34690929
  • qq_34690929
  • 2017-08-21 22:55:37
  • 243

【BFS】(一)抓住那头牛(poj 3278)

bfs 入门 本来AC了挺沾沾自喜,结果翻一翻poj上大神们 0ms 的算法翻也翻不完…… 而我 47ms 1052K……...
  • FarCaptain
  • FarCaptain
  • 2017-05-01 15:59:09
  • 538

poj 4001:抓住那头牛

解题思路: DFS #include using namespace std; int main() { int m,n; cin>>m>>n; int queue[100010]; in...
  • u010663294
  • u010663294
  • 2014-06-23 10:21:47
  • 1148

【Openjudge2971】 抓住那头牛 广搜+剪枝

描述 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0...
  • zhhe0101
  • zhhe0101
  • 2016-12-20 17:42:29
  • 478

C++广度优先搜索算法之抓住那头牛(Catch that cow)

抓住那头牛: 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟 假设牛没有意识到...
  • C20190413
  • C20190413
  • 2017-05-27 18:09:06
  • 610

【openjudge】抓住那头牛

描述 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟 假设牛没有...
  • Clove_unique
  • Clove_unique
  • 2015-12-13 15:19:08
  • 1434

OpenJudge noi 2971抓住那头牛(POJ 3278)

Description 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0...
  • Loi_black
  • Loi_black
  • 2016-10-19 19:01:25
  • 411
收藏助手
不良信息举报
您举报文章:POJ 4001 抓住那头牛(广度优先搜索)
举报原因:
原因补充:

(最多只允许输入30个字)