初学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;
}



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

六战HDU1241 Oil Deposits 对搜索的不断反思

第一战: 结果: PKU 顺利AC  HDU 死都是 WA  这就郁闷了。。。 #include #include #include #include #include usin...
  • hhczy1003
  • hhczy1003
  • 2015年04月02日 19:08
  • 294

Oil Deposits (dfs)深度搜索

Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T...
  • qq_37533501
  • qq_37533501
  • 2017年07月24日 18:41
  • 66

Oil Deposits之DFS解题报告

Oil Deposits Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To...
  • caizi1991
  • caizi1991
  • 2013年05月24日 15:18
  • 642

深搜之入门例题 DFS Oil Deposits

Oil Deposits   题意:@是一个油田,如果它周围的8个方向有一个是油田的话,那么这两个油田是一块。问:这样的油田有多少块?思路: 因为这里的每一个地方都需要搜索判断, 所以采用深搜。...
  • qq_37763788
  • qq_37763788
  • 2017年07月28日 16:21
  • 40

Oil Deposits(深度优先搜索DFS)

F - Oil Deposits Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Subm...
  • djz_zxd
  • djz_zxd
  • 2016年11月28日 20:03
  • 125

oil deposits——广搜

Oil Deposits Problem Description The GeoSurvComp geologic survey company is responsible for dete...
  • StubbornAccepted
  • StubbornAccepted
  • 2016年04月16日 20:16
  • 219

Oil Deposits(石油问题)

题目 Description The GeoSurvComp geologic survey company is responsible for detecting ...
  • u013246445
  • u013246445
  • 2014年02月13日 10:58
  • 445

oil deposits——深搜

Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T...
  • StubbornAccepted
  • StubbornAccepted
  • 2016年04月16日 19:31
  • 206

Oil Deposits ( 简单搜索,连通性)

The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu...
  • qq_36424540
  • qq_36424540
  • 2017年07月26日 07:44
  • 137

Oil Deposits(BFS模板题)

点击打开链接                                    Oil Deposits The GeoSurvComp geologic survey compa...
  • qq_37823003
  • qq_37823003
  • 2017年07月31日 16:35
  • 56
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初学DFS:HDU1241 Oil deposits
举报原因:
原因补充:

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