• HDU 1241


    这题意也是醉.

    简单dfs;对于一个油田"@"来说,上下左右斜上斜下八个方向如果也是"@"的话,就算同一个;那么,就用深搜搜呗..

    每次找到一个"@",就把所有的跟他相关联的全部标记上,然后继续找下一个;

    AC代码:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <algorithm>
     4 #include <iostream>
     5 #include <queue>
     6 #include <math.h>
     7 const int dx[8]= {0,0,-1,1,-1,-1,1,1};
     8 const int dy[8]= {1,-1,0,0,-1,1,-1,1};
     9 using namespace std;
    10 int vis[200][200],n,m,sum;
    11 char s[205][205];
    12 void dfs(int x,int y)
    13 {
    14     for(int i=0;i<8;i++)
    15     {
    16         int kx=x+dx[i];
    17         int ky=y+dy[i];
    18         if(kx>=0&&kx<n&&ky>=0&&ky<m&&vis[kx][ky]==0&&s[kx][ky]=='@')
    19         {
    20 //            sum++;  英语太渣,,不过题意不是说An oil deposit will not contain more than 100 pockets. 妈哒还是英语太渣.
    21 //            if(sum>100)
    22 //            {
    23 //                return ;
    24 //            }
    25             vis[kx][ky]=1;
    26             dfs(kx,ky);
    27         }
    28     }
    29     return ;
    30 }
    31 int main()
    32 {
    33     while(~scanf("%d%d",&n,&m))
    34     {
    35         if(n==0&&m==0)
    36         {
    37             break;
    38         }
    39         memset(vis,0,sizeof(vis));
    40         for(int i=0;i<n;i++)
    41         {
    42             scanf("%s",s[i]);
    43         }
    44         int cnt=0;
    45         for(int i=0;i<n;i++)
    46         {
    47             for(int j=0;j<m;j++)
    48             {
    49                 if(s[i][j]=='@'&&vis[i][j]==0)//每次都找一个没被搜过的点,这个点一定和他关联的点一定算一个新的点.
    50                 {
    51 //                    sum=1;
    52                     dfs(i,j);
    53                     cnt++;
    54                 }
    55             }
    56         }
    57         printf("%d
    ",cnt);
    58     }
    59     return 0;
    60 }
    View Code
  • 相关阅读:
    大数据-KNN算法
    Java-单链表的实现
    Python分析《武林外传》
    Java-javaFx库运用-自动弹跳的球
    Java-javaFx库运用-时钟显示
    Python爬虫-《神雕侠侣》
    大数据-决策树
    Java--用键盘控制小球
    Java--下大雪模拟
    Java File ——Io流复习
  • 原文地址:https://www.cnblogs.com/qioalu/p/4922479.html
Copyright © 2020-2023  润新知