zoukankan      html  css  js  c++  java
  • 栈与队列....

    View  Code 
    #include <iostream>
    #include <cstring>
    #include <queue>
    using namespace std;
     

    int x2,y2; 
    int ans = 0;
    int dre_x[5] = {0,-1,1,0,0}; 
    int dre_y[5] = {0,0,0,-1,1};
    int map[12][12];
    int visit[12][12];
    class Point
    {
    public:
        int x;
        int y;
        Point(int x,int y)
        {
            this->x = x;
            this->y = y;
        }
        ~Point ()
        {
        }
    private:
    protected:

    };
    queue<Point> que;

    void BFS()
    {
        while (!que.empty())
        {
            if (que.front().x == x2 && que.front().y == y2)
            {
                ans = 1;
                return;
            }
            for (int i=1;i<=4;i++)
            {
                if (visit[que.front().x+dre_x[i]][que.front().y+dre_y[i]] == 0 && map[que.front().x+dre_x[i]][que.front().y+dre_y[i]] == 1)
                {
                    visit[que.front().x+dre_x[i]][que.front().y+dre_y[i]] = 1;
                    que.push(Point(que.front().x+dre_x[i],que.front().y+dre_y[i]));
                }
            }
            que.pop();
        }
    }

    void DFS(int  x,int y)
    {
        if (x == x2 && y == y2)
        {
            ans =  1;
            return;
        }
        for (int i=1;i<=4;i++)
        {
            if (visit[x+dre_x[i]][y+dre_y[i]] == 0 && map[x+dre_x[i]][y+dre_y[i]] == 1)
            {
                visit[x+dre_x[i]][y+dre_y[i]] = 1;
                DFS(x+dre_x[i],y+dre_y[i]);
            }
        }
    }

    int main()
    {
        memset(map,0,sizeof(map));
        memset(visit,0,sizeof(visit));
        for (int i=1;i<=10;i++)
            for (int j=1;j<=10;j++)
            {
                cin>>map[j][i];
            }
        cin>>x2>>y2;
        //DFS(1,1);
        que.push(Point(1,1));
        BFS();
        Point p(1,1);
        cout<<ans<<endl;
    当你试图了解你的祖国时,你已踏上了犯罪的路程。
  • 相关阅读:
    Git 常用命令
    Python 常用算法记录
    Python基础Web服务器案例
    你真的懂SDWebImage?
    Core Data的那点事儿~
    看看 SDWebImage内部基本实现过程
    App上架流程 & 上架被拒10大原因
    KVO中你所不知道的"坑"
    math公式手写识别网址
    umi build出现的Path must be a string的问题解决
  • 原文地址:https://www.cnblogs.com/modiz/p/2963661.html
Copyright © 2011-2022 走看看