zoukankan      html  css  js  c++  java
  • Oil Deposits

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 int n,m,cnt;
     7 char mp[110][110];
     8 bool vis[110][110];
     9 int dir[8][2]={{1,0},{1,1},{1,-1},{0,1},{0,-1},{-1,0},{-1,1},{-1,-1}};
    10 
    11 void dfs(int x,int y) //对每个@ 都寻找旁边八个方向的@ ,并标记,成为一个整体 
    12 {
    13     for(int i=0;i<8;i++)
    14     {
    15         int dx= x+dir[i][0];
    16         int dy= y+dir[i][1];
    17         if(dx<0||dx>n-1||dy<0||dy>m-1)
    18             continue;
    19         if(mp[dx][dy]=='@'&&vis[dx][dy]==0)
    20         {
    21             vis[dx][dy]=1;
    22             dfs(dx,dy);
    23         }
    24     }
    25 }
    26 
    27 int main()
    28 {
    29     while(cin>>n>>m &&n &&m)
    30     {
    31         memset(vis,0,sizeof(vis));
    32         cnt=0;
    33         
    34         for(int i=0;i<n;i++)
    35             cin>>mp[i];
    36         for(int i=0;i<n;i++)
    37         {
    38             for(int j=0;j<m;j++)
    39             {
    40                 if(mp[i][j]=='@'&&vis[i][j]==0)
    41                 {
    42                     cnt++;
    43                     dfs(i,j);
    44                 }
    45             }
    46         }
    47         cout<<cnt<<endl;
    48     }
    49 }

     HDU - 1241 

  • 相关阅读:
    初始化项目结构
    Django基础2
    Django基础
    Linux(9~)
    Linux(8~)
    redis案例
    Jedis连接池
    Jedis入门
    redis持久化
    redis命令操作
  • 原文地址:https://www.cnblogs.com/thunder-110/p/8999788.html
Copyright © 2011-2022 走看看