hdu 1241 Oil Deposits

来源:互联网 发布:淘宝拍摄衣服怎么布光 编辑:程序博客网 时间:2024/06/05 17:41

该题就是一个模拟题,标记,上下左右和对角线,即可 累加】


#include<stdio.h>char a[105][105];int m,n;void sou(int i,int j){    if(a[i][j]=='*')        return;    else if(a[i][j]=='@')    {        a[i][j]='*';        if(i-1>=0) sou(i-1,j);        if(i-1>=0&&j+1<n) sou(i-1,j+1);        if(j+1<n) sou(i,j+1);        if(i+1<m&&j+1<n) sou(i+1,j+1);        if(i+1<m) sou(i+1,j);        if(i+1<m&&j-1>=0) sou(i+1,j-1);        if(j-1>=0) sou(i,j-1);        if(i-1>=0&&j-1>=0) sou(i-1,j-1);    }}int main(){    int i,sum,j;    while(scanf("%d%d",&m,&n)!=EOF)    {        if(m==0&&n==0) break;       sum=0;        for(i=0;i<m;i++)            scanf("%s",a[i]);        for(i=0;i<m;i++)            for(j=0;j<n;j++)        {            if(a[i][j]=='@')                {sou(i,j);                sum++;                }        }        printf("%d\n",sum);    }    return 0;}


0 0