zoukankan      html  css  js  c++  java
  • POJ 3278: Catch That Cow

    题意:农夫在n号点,牛在k号点,农夫每次可以左右移动一格或者跳到2x位置,求农夫最少移动几次抓到牛。

    分析:显然,如果n>=k,step=n-k。对于n<k的情况,对三个方向广搜即可。(没事水母牛题可还行

    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #define range(i,a,b) for(int i=a;i<=b;++i)
    #define LL long long
    #define rerange(i,a,b) for(int i=a;i>=b;--i)
    #define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
    using namespace std;
    int n,k,step[100005];
    bool vis[100005];
    queue<int>q;
    void init(){
        cin>>n>>k;
    }
    int bfs(int n,int k){
        q.push(n);
        vis[n]=true;
        while(!q.empty()){
            int head=q.front(),next;
            q.pop();
            range(i,0,2){
                if(!i)next=head-1;
                else if(i==1)next=head+1;
                else next=head<<1;
                if(next>100005||next<0)continue;
                if(!vis[next]){
                    q.push(next);
                    step[next]=step[head]+1;
                    vis[next]=true;
                }
                if(next==k)return step[next];
            }
        }
    }
    void solve(){
        cout<<(n>=k?n-k:bfs(n,k))<<endl;
    }
    int main() {
        init();
        solve();
        return 0;
    }
    View Code
  • 相关阅读:
    PHP 数据类型
    PHP SAPI
    PHP 基础架构
    PHP7的变化
    mysql 选择优化的数据类型需要注意的几点
    彻底删除在github上提交的文件
    php7 新特性
    php缓冲区 一些笔记
    设计模式 一些概念
    mysql性能优化其中一部分小结
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9323458.html
Copyright © 2011-2022 走看看