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 }

 

 

转载于:https://www.cnblogs.com/yujiaao/archive/2011/08/24/2151540.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Notepad++ 简单使用

github 下载地址&#xff1a;https://github.com/notepad-plus-plus 简介 Notepad 是 Windows 下的一款免费开源代码编辑器&#xff0c;它使用较少的CPU功率&#xff0c;降低电脑系统能源消耗&#xff0c;但轻巧且执行效率高&#xff0c;使得 Notepad 可完美地取代微软视窗的记…

MIT:机器学习预测2018世界杯冠军

来源 &#xff1a;199IT互联网数据中心摘要&#xff1a;麻省理工学院报道&#xff0c;他们的研究人员开发了一种新型人工智能&#xff0c;用以预测世界杯走势。麻省理工学院报道&#xff0c;他们的研究人员开发了一种新型人工智能&#xff0c;用以预测世界杯走势。研究人员声称…

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断

From&#xff08; 模拟器检测实战分析 &#xff09;&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p65 怎样过 app 的模拟器检测&#xff1a;https://bbs.pediy.com/thread-249759.htm Android 模拟器如何不被检测思路&#xff1a;https://bbs.pediy.com/thread…

2017-2018中国机器人创新Top100榜单深度分析

来源&#xff1a;产业创新创投数据平台Innov100摘要&#xff1a;人类和机器人由相互隔离、保持距离发展到充分的人机交互&#xff0c;融合共生。一、2017-2018年中国机器人创新Top100榜单二、中国机器人创新Top100数据分析&#xff08;一&#xff09;机器人创新Top100产业生态分…

[SCM]源码管理 - perforce快速入门

Perforce是目前比较流行的集中式的源代码管理工具&#xff0c;在很多的欧美跨国公司被广泛的使用。他能够运行于Windows&#xff0c;Linux&#xff0c;Mac几乎所有的平台&#xff0c;支持客户端&#xff0c;命令行&#xff0c;IDE集成&#xff0c;操作系统shell&#xff0c;API…

揭秘:机器究竟是怎么学习的?

来源&#xff1a;雪球摘要&#xff1a;从算法的角度看&#xff0c;机器学习有很多种算法&#xff0c;例如回归算法、基于实例的算法、正则化算法、决策树算法、贝叶斯算法、聚合算法、关联规则学习算法和人工神经网络算法。从算法的角度看&#xff0c;机器学习有很多种算法&…

安卓逆向_21 --- Java层和so层的反调试( IDA 动态调试 JNI_OnLoad、init_array下断)

1. 安卓程序动态调试条件 安卓程序动态调试条件 ( 2个满足1个即可 )&#xff1a; 1. 在 AndroidMainfest.xml ---> application 标签下&#xff0c;设置或者添加属性 android:debuggable"true" 2. 系统默认模式&#xff0c;在 build.prop(boot.img)&#xff0c;…

JavaScript MSN 弹出消息框

** 类名&#xff1a;CLASS_MSN_MESSAGE ** 功能&#xff1a;提供类似MSN消息框 ** 示例&#xff1a; ** 作者&#xff1a;ttyp ** 邮件&#xff1a;ttyp21cn.com ** 日期&#xff1a;2005-3-18 ** **/ JS 代码&#xff1a; // JScri…

一文读懂:深扒人脸识别60年技术发展史

来源&#xff1a;与非网摘要&#xff1a; “他来听我的演唱会&#xff0c;门票换了手铐一对”。最近歌神张学友变阿SIR&#xff0c;演唱会上频频抓到罪犯&#xff0c;将人脸识别技术又一次推到了大众的视线中。“他来听我的演唱会&#xff0c;门票换了手铐一对”。最近歌神张学…

安卓逆向_22( 一 ) --- Xposed【 Android Studio + Xposed 实现简单的 hook 】

From&#xff1a;使用渗透测试框架 Xposed 框架 hook 调试 Android APP&#xff1a;https://www.freebuf.com/articles/terminal/56453.html Xposed框架分析&#xff1a;https://blog.csdn.net/zjx839524906/article/details/81046844 xposted框架 原理 Xposed框架之函数Hoo…

【数据采集】将16进制字符串转化为Double类型输出(依照IEEE754标准)

因为需要读取二进制文件中包含的数据&#xff0c;故需要这样一个转化过程。 鄙人功力太浅&#xff0c;主要参照http://www.cnblogs.com/xinjun/archive/2010/07/28/1787297.html&#xff0c;略有改动&#xff0c;以保证编译运行通过。 1 #include <iostream> 2 #include…

TED演讲 | 2100年,神经学家如何研究人类大脑?

“本文来源于药明康德微信公众号&#xff08;ID&#xff1a;WuXiAppTecChina&#xff09;”除非我们弄清楚如何在健康人体中获得神经元的电活动&#xff0c;否则不会在理解人类大脑或疾病方面取得任何进展。 Were not going to make any progress towards understanding the hu…

安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )

From&#xff1a;Hook 神器家族的 Frida 工具使用详解&#xff1a;https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frida ( 信抢红包 )&#xff1a;https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】…

VC 创建NT服务程序

VC 创建NT服务程序 #include "Windows.h" #include "Winsvc.h" #include "time.h" #include "stdio.h" SERVICE_STATUS m_ServiceStatus; SERVICE_STATUS_HANDLE m_ServiceStatusHandle; BOOL bRunningtrue; void WINAPI Servi…

安卓逆向_22( 二 ) --- Xposed 学习记录

转载&#xff1a;看雪论坛 堂前燕&#xff1a;https://bbs.pediy.com/thread-252153.htm Xposed 模块编写的那些事&#xff1a;https://www.freebuf.com/articles/terminal/114910.html 看了很多 xposed的教程&#xff0c;自以为掌握了个大概&#xff0c;直到今天整理&#xf…

最前线丨新零售结果、AT暗战,今年的618都讲了哪些故事

来源&#xff1a;36Kr今年的618成了巨头们验收新零售成果的好时机。618源于2010年&#xff0c;最初为京东店庆。2013年天猫加入618大促&#xff0c;苏宁、国美紧随其后。此后&#xff0c;618成为电商价格战的战场&#xff0c;也成为全网狂欢的节日。618今年已经走到底第9个年头…

什么是RUP

一、RUP产生的背景 UML能够用来为系统进行面向对象建模&#xff0c;但是并没有指定应用UML的过程&#xff0c;它仅仅是一种语言&#xff0c;它是独立于任何过程的。如果想要成功的应用UML一个好的过程是必要的。合理的过程能够有效的测度工作进度&#xff0c;控制和改善工作效率…

安卓逆向_24 ( 二 ) --- frida 学习记录

转载&#xff1a;看雪论坛 堂前燕 &#xff1a;https://bbs.pediy.com/thread-252319.htm apk 和 Python脚本 链接&#xff1a;https://pan.baidu.com/s/1KX1fY16NgaYB1FnCrpu0lQ 提取码&#xff1a;t38k 上次记录了下xposed hook java层的学习&#xff0c;这次记录下frid…

动态 | DeepMind 首次披露旗下专利申请情况

来源&#xff1a;AI科技评论摘要&#xff1a;作为一家顶尖的人工智能研究公司&#xff0c;DeepMind 近年来申请了一堆国际专利&#xff0c;但是具体到专利内容和申请数量就不得而知了。近日&#xff0c;DeepMind首次披露了一系列国际专利&#xff0c;这些专利涉及了现代机器学习…

JavaScript获取URL参数

文件1&#xff1a;realwall.js (function(window){var urltool {getUrlParameterByKey : function(url,key){var result "",start,parameterStr,len,paras,i;parameterStr url.split("?");if(parameterStr.length > 1){parameterStr parameterStr[…