• hdu 1241 Oil Deposits 解题报告


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241

    第一次写搜索代码 花了好大的功夫检查 看了别人的结题报告 还是错误一大堆 哎

    题目是这样的 @表示油田 *表示非油田 @与其八个方向@组成一片连续油田 一个@*组成的图 文有几片油田

    思路:没被标记找大一个@ 在使用dfs 把所有的相连的油田都标记为已查找

    然后油田片数+1;

    知道找完所有的点;

    用递归的方式实现深搜

     1 #include<iostream>
    2 #include<string>
    3 #include<queue>
    4 usingnamespace std;
    5 int ans=0;
    6 bool visit[100][100]={0};//用一个 bool数组表示是否被找过
    7 char map[100][100];//存储图形
    8 int n,m;
    9 int f[8][2]={1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,-1,-1,1};//没两位表示一个方向 8个方向
    10 void dfs(int x,int y)
    11 { int i,j,k,dx,dy;
    12 visit[x][y]=1;
    13 for(i=0;i<8;i++)
    14 {
    15
    16 dx=x+f[i][0];
    17 dy=y+f[i][1];
    18 if(dx<0|| dy<0|| dx>=m || dy>=n || map[dx][dy]=='*'|| visit[dx][dy]==1)//改了很多次才改对 这就是菜鸟
                                                                                                              //打得时候忘了visit[dx][dy]==1
    19 continue;
    20 if(map[dx][dy]=='@'&& visit[dx][dy]==0)
    21 {visit[dx][dy]=1;
    22 dfs(dx,dy);//使用了递归的方式 容易理解
    23 }
    24 }
    25 return ;
    26 }
    27 int main()
    28 {
    29 int i,j;
    30 while(scanf("%d %d",&m,&n)!=EOF)
    31 {
    32 getchar();//下面要输入字符 所以要用getchar 接受回车
    33 ans=0;
    34 memset(map,0,sizeof(map));
    35 memset(visit,0,sizeof(visit));
    36 if(n==0&& m==0)
    37 {
    38 break;
    39 }
    40 for(i=0;i<m;i++)
    41 {
    42 for(j=0;j<n;j++)
    43 {
    44 scanf( "%c",&map[i][j] );
    45 }
    46 getchar();
    47 }
    48 for(i=0;i<m;i++)
    49 {
    50 for(j=0;j<n;j++)
    51 {
    52 if(visit[i][j]==0&& map[i][j]=='@')
    53
    54 {
    55 dfs(i,j);
    56 ans++;
    57 }
    58 }
    59 }
    60 printf("%d\n",ans);
    61 }
    62 //system("pause");
    63 return0;
    64 }
  • 相关阅读:
    170929-关于md5加密
    170911-关于maven的知识点
    opencv-python 学习初探1
    使用PDFminer3k解析pdf为文字遇到:WARING:root:GBK-EUC-H
    Python time strptime()与time strftime()
    chromedriver下载安装
    计数
    高效的几个小技巧
    phantomjs在win10下的安装
    win10下安装lxml
  • 原文地址:https://www.cnblogs.com/yujiaao/p/2151540.html
Copyright © 2020-2023  润新知