zoukankan      html  css  js  c++  java
  • 搜索1016

    题目大意:

    给出矩阵,从@出发,只能走.,问最多能走几步

    解题思路:

    bfs

    代码:

    #include<iostream>
    #include<string.h>
    #include<queue>
    #include<stdio.h>
    using namespace std;
    char mapp[205][205];
    int vis[205][205];
    int n,sx,sy,m;
    int dirx[5]={0,0,1,-1};
    int diry[5]={1,-1,0,0};
    struct point
    {
        int x;
        int y;
    };
    int isend(int x,int y)
    {
        if(x<0||y<0||x>=n||y>=m||vis[x][y]||mapp[x][y]=='#')
            return 1;
        return 0;
    }
    int bfs()
    {
        queue<point>que;
        point now,next;
        now.x=sx;
        now.y=sy;
        que.push(now);
        int i;
        while(!que.empty())
        {
            now=que.front();
            que.pop();
            vis[now.x][now.y]=1;
            for(i=0;i<4;i++)
            {
                next.x=now.x+dirx[i];
                next.y=now.y+diry[i];
                if(isend(next.x,next.y))
                    continue;
                else
                {
                    que.push(next);
                }
            }
        }
        return 0;
    }
    
    int main()
    {
        int i,j;
        while(~scanf("%d%d",&m,&n))
        {
            if(n==0&&m==0) break;
            for(i=0;i<n;i++)
            {
               scanf("%s",mapp[i]);
               for(j=0;j<m;j++)
                    if(mapp[i][j]=='@')
                    {
                        sx=i;sy=j;
                    }
            }
           memset(vis,0,sizeof(vis));
            bfs();
            int num=0;
            for(i=0;i<n;i++)
                for(j=0;j<m;j++)
                {
                    if(vis[i][j])
                        num++;
                }
            cout<<num<<endl;
        }
    
        return 0;
    }
  • 相关阅读:
    CSS介绍
    docker入门
    nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    niginx入门
    常用服务安装部署
    VIM
    linux基本命令
    linux目录分级
    OpenStack共享组件
    kvm认识和安装
  • 原文地址:https://www.cnblogs.com/Sikaozhe/p/5423836.html
Copyright © 2011-2022 走看看