红与黑

来源:互联网 发布:windows 注册表修复 编辑:程序博客网 时间:2024/04/30 00:43

可爱的递归

#include <iostream>

#include<stdio.h>
int w,h;char a[21][21];
using namespace std;
int p(int i,int j)
{


    if(i<1||i>h||j>w||j<1)
    return 0;
    if(a[i][j]!='#')
    {
        a[i][j]='#';
        return p(i-1,j)+p(i+1,j)+p(i,j-1)+p(i,j+1)+1;
    }
    else return 0;
}
int main()
{
    int i,j;


    while(scanf("%d%d",&w,&h)!=-1)
    {


        if(w==0&&h==0)break;


        for(i=1;i<=h;i++)
        {
            for(j=1;j<=w;j++)
            {
                cin>>a[i][j];
            }
        }
        for(i=1;i<=h;i++)
        {
            for(j=1;j<=w;j++)
            {
                if(a[i][j]=='@'){cout<<p(i,j)<<endl;break;}
            }
        }
    }
    return 0;
}
0 0
原创粉丝点击