zoukankan      html  css  js  c++  java
  • BFS

    http://poj.org/problem?id=3278
    
    
    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <fstream>
    #include <algorithm>
    #include <cmath>
    #include <queue>
    #include <stack>
    #include <vector>
    #include <map>
    #include <set>
    #include <iomanip>
    
    using namespace std;
    #define maxn 100005
    #define MOD 1000000007
    #define mem(a , b) memset(a , b , sizeof(a))
    #define LL long long
    #define ULL unsigned long long
    
    bool used[maxn];
    
    typedef struct
    {
        int x,step;
    }Point;
    
    bool overwall(int x)
    {
        if(x<0||x>=maxn)
            return true;
        else
            return false;
    }
    
    void bfs(int n,int k)
    {
        Point t,p;
        t.step=0;
        t.x=n;
        used[t.x]=true;
        queue <Point> q;
        q.push(t);
        int b[3][2]={{1,0},{-1,0},{0,1}};
        while (!q.empty()) {
            p=q.front();
            q.pop();
            if(p.x==k)
            {
                cout<<p.step<<endl;
                break;
            }
            for(int i=0;i<3;i++)
            {
                t=p;
                t.x=t.x+b[i][0]+t.x*b[i][1];
                if(!overwall(t.x)&&!used[t.x])
                {
                    t.step++;
                    q.push(t);
                    used[t.x]=true;
                }
            }
        }
    }
    
    int main()
    {
        int  N,K;
        while (cin>>N>>K) {
            memset(used,0,sizeof(used));
            bfs(N,K);
        }
        return 0;
    }
  • 相关阅读:
    VueBlog
    java 代理模式
    集合框架
    面试题
    java 多线程
    网络编程
    HTTP
    MAVEN
    Redis高级
    深入浅出--梯度下降法及其实现
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9441658.html
Copyright © 2011-2022 走看看