【第22期】观点:IT 行业加班,到底有没有价值?

初学DFS:HDU1241 Oil deposits

原创 2016年06月01日 20:55:05

这题做了几小时,怪自己粗心

注意题目给出的最后一组数据M后面多了一个空格,不要直接复制,我就是直接复制过来写成文件调试,坑死了

#include <iostream>
#include <cstdio>
#include <cstring>
//#define test
using namespace std;
char vis[105][105];
int cnt;
int M,N;
int dir[8][2] = {{0,1},{1,0},{-1,0},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1}};
void dfs(int x,int y)
{
    vis[x][y]='*';
    //printf("%d %d\n",x,y);
    int xx,yy;
    for(int i=0; i<8; i++)
    {
        xx=x+dir[i][0];
        yy=y+dir[i][1];
        if(xx>M||yy>N||xx<1||yy<1||vis[xx][yy]=='*')
            continue;
        if(vis[xx][yy]=='@')
            dfs(xx,yy);
    }
    return;
}
int main()
{
    //fp=fopen("out.txt","w");
    while(scanf("%d %d",&M,&N)!=EOF)
    {
        getchar();
        if(M==0||N==0)
            break;
        for(int i=1; i<=M; i++)
        {
            for(int j=1; j<=N; j++)
                scanf("%c",&vis[i][j]);
            getchar();//get the char '\n'
        }
#ifdef test
        for(int i=1; i<=M; i++)
        {
            for(int j=1; j<=N; j++)
                printf("%c",vis[i][j]);
            printf("\n");
        }
#endif
        cnt=0;
        for(int i=1; i<=M; i++)
            for(int j=1; j<=N; j++)
                if(vis[i][j]=='@')
                {
                    cnt++;
                    dfs(i,j);
                }
        printf("%d\n",cnt);
        //memset(vis,0,sizeof(vis));
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Hdu 1241 Oil Deposits DFS算法

深度优先算法

dfs hdu1241 Oil Deposits

The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Oil Deposits HDU - 1241 ---DFS

The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu...

hdu 1241 Oil Deposits(DFS)

Oil DepositsProblem Description The GeoSurvComp geologic survey company is responsible for detectin...

【HDU】1241--Oil Deposits(DFS)

点击打开链接 Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)