hdu 1241 Oil Deposits

来源:互联网 发布:js得到指定时间戳 编辑:程序博客网 时间:2024/04/30 06:50

链接:点击打开链接

DFS

#include<stdio.h>#include<string.h>char str1[110][110];char str2[110][110];int vist[110][110];void bfs(int x,int y){  if(str2[x][y]=='*'||vist[x][y])      return;  vist[x][y]=1;  bfs(x-1,y-1);  bfs(x-1,y);  bfs(x-1,y+1);  bfs(x,y-1);  bfs(x,y+1);  bfs(x+1,y-1);  bfs(x+1,y);  bfs(x+1,y+1);}int main(){  int i,j,n,m,num;      //getchar();  while(~scanf("%d %d\n",&n,&m))  {    memset(vist,0,sizeof(vist));    memset(str1,0,sizeof(str1));    memset(str2,'*',sizeof(str2));      if(n==0&&m==0)          break;    for(i=0;i<n;i++)    {        for(j=0;j<m;j++)        {          scanf("%c",&str1[i][j]);          str2[i+1][j+1]=str1[i][j];        }        getchar();    }        num=0;   for(i=1;i<=n;i++)       for(j=1;j<=m;j++)       {           if(!vist[i][j]&&str2[i][j]=='@')           {            bfs(i,j);             num++;           }       }       printf("%d\n",num);  }  return 0;}


原创粉丝点击