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;
    当你试图了解你的祖国时,你已踏上了犯罪的路程。
  • 相关阅读:
    python之九九乘法表
    python之生成随机密码
    selenium以及浏览器驱动下载安装
    Monkey命令
    Android SDK Manager仅有一个版本的问题
    截图工具无法使用解决方法
    jmeter服务器监控插件指标简单说明
    mysql字符集小结
    mysql创建新的用户及flush privileges解析
    MySql添加远程超级管理员用户
  • 原文地址:https://www.cnblogs.com/modiz/p/2963661.html
Copyright © 2011-2022 走看看