HDU 1241 Oil Deposits(纯DFS)

来源:互联网 发布:调整相片大小软件 编辑:程序博客网 时间:2024/06/02 01:18
题目:

http://acm.hdu.edu.cn/showproblem.php?pid=1241

碎念:
汗,WA了N次,至今不理解为何用scanf("%s",map[i]);过不了,用流操作才过的。

纯DFS题。

代码:

#include<iostream>#include<cstdio>using namespace std;char map[102][102];int n,m;int dir[8][2]={0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1};void dfs(int i,int j){    if(i>0&&i<=n&&j>0&&j<=m&&map[i][j]=='@')    {        map[i][j]='*';        for(int k=0;k<8;k++)        {            dfs(i+dir[k][0],j+dir[k][1]);        }    }    else return;}int main(){    while(~scanf("%d%d",&n,&m))    {        if(n==0&&m==0) break;        int i,j;        for(i=1;i<=n;i++)        {            for(j=1;j<=m;j++){cin>>map[i][j];}        }        int sum=0;        for(i=1;i<=n;i++)        {            for(j=1;j<=m;j++)            {                if(map[i][j]=='@')                 {                    dfs(i,j);                    sum++;                }            }        }        printf("%d\n",sum);    }    return 0;}


0 0
原创粉丝点击