码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1979 Red and Black

时间:2017-09-09 15:19:51      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:main   string   i++   include   visit   int   space   还需   for   

#include<iostream>
#include<string>
#include<algorithm>
#include<cstring>

using namespace std;

const int maxn=22,maxm=22;

int n,m,ans;
bool visited[maxn][maxm];
string map[maxn];

void search(int row,int col)
{
    if(row<0||row>=n||col<0||col>=m||map[row][col]==‘#‘||visited[row][col]==true)
        return ;
    visited[row][col]=true;
    ans++;
    
    search(row-1,col);
    search(row,col+1);
    search(row+1,col);
    search(row,col-1);
}

int main()
{
    cin>>m>>n;
    while(n||m)
    {
        int row,col;//局域变量的设置,越局域越好
        for(int i=0;i<n;i++)
        {
            cin>>map[i];
            for(int j=0;j<m;j++)
            {
                if(map[i][j]==‘@‘)
                {
                    row=i;
                    col=j;
                }
            }
        }
        
        //memset还需要包含cstring在C++中
        memset(visited,false,sizeof(visited));//数组的全部初始化写法
        ans=0;//因为每一次测试ans都从0开始,所以初始化写在内部
        search(row,col);
        cout<<ans<<endl;
        cin>>m>>n;//再次输入这里很重要
    }
    return 0;
}

 

POJ1979 Red and Black

标签:main   string   i++   include   visit   int   space   还需   for   

原文地址:http://www.cnblogs.com/dusanlang/p/7498158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!