zoukankan      html  css  js  c++  java
  • ZOJ 1709 Oil Deposits

    最主要的是分清楚从一个点遍历到周围的点,并且将遍历过的点做好标记。还有就是弄清楚分界。

    #include <iostream>
    using namespace std;
    char  map[105][105];
    int n,m;
    int dy[10] = {-1,-1,-1,0,0,1,1,1};
    int dx[10] = {-1,0,1,-1,1,-1,0,1};

    int judge(int x,int y)
    {
      if(y < 1 || y > m|| x < 1|| x > n)
        {
          return 0;
        }
      return 1;
    }
    void dfs(int x, int y)
     {
          map[x][y] = -1;
         for(int i = 0 ; i < 8; i++)
           {
             int ty = y + dy[i];
             int tx = x + dx[i];
           if( judge(tx,ty) == 0)
             {
                continue;
             }  

          if(map[tx][ty] == '@')
             {
                dfs(tx,ty);
             }
           }
    }

    int main()
    {
      while(cin>>n>>m && n!= 0 && m!=0)
      {
           for(int i = 1;i<= n;i++)
            {
                 for(int j = 1 ; j <= m;j++)
               {
                    cin>>map[i][j];
               }  

           }
         int sum  = 0;
           for(int i = 1 ; i <= n;i++)
           {
               for(int j = 1 ; j <= m;j++)
              {
                  if(map[i][j] == '@')
              {
                 dfs(i,j);
                 sum++;
              }
              }
           }
             cout<<sum<<endl;
        }
       return 0;
    }

  • 相关阅读:
    并查集
    树状数组及二维树状数组
    maven工程编译成jar包
    The Salt Master has rejected this minion's public key!
    salt-minion dead but pid file exists 正确解决方法
    mysql 查找表的auto_increment和修改
    fastjson --JSONObject 和JSONArray 转换
    git 获取当前版本的commitid
    fastjson 使用笔记
    spring IOC 注解@Resource
  • 原文地址:https://www.cnblogs.com/T8023Y/p/3204281.html
Copyright © 2011-2022 走看看