Oil Deposits

hdu1241:http://acm.hdu.edu.cn/showproblem.php?pid=1241

题意:就是找出有多少块有石油的区域,就是数组中的@,这边相邻指的是是周围的八个位置。

题解:  dfs,从一块油田的位子开始,朝着与他相邻的8个方向收索,遇到油田就把它变成不是油田,并往下继续。遍历一下,就知道有多少了

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 using namespace std;
 6 char map[102][102];
 7 int m,n;
 8 void dfs(int i,int j){
 9      if(i<1||i>m||j<1||j>n)
10        return;
11       if(map[i-1][j]=='@')
12       {  map[i-1][j]='*';
13           dfs(i-1,j);
14            }
15        if(map[i+1][j]=='@')
16       {  map[i+1][j]='*';
17           dfs(i+1,j);
18            }
19         if(map[i][j+1]=='@')
20       {  map[i][j+1]='*';
21           dfs(i,j+1);
22            }
23       if(map[i][j-1]=='@')
24         {  map[i][j-1]='*';
25           dfs(i,j-1);
26            }
27            
28       if(map[i+1][j+1]=='@')
29       {  map[i+1][j+1]='*';
30           dfs(i+1,j+1);
31            }
32        if(map[i-1][j+1]=='@')
33       {  map[i-1][j+1]='*';
34           dfs(i-1,j+1);
35            }
36       if(map[i-1][j-1]=='@')
37       {  map[i-1][j-1]='*';
38           dfs(i-1,j-1);
39            }
40         if(map[i+1][j-1]=='@')
41       {  map[i+1][j-1]='*';
42           dfs(i+1,j-1);
43            }
44            
45 }
46 int main(){
47      int count;
48    while(~(scanf("%d%d",&m,&n))&&m!=0){
49      count=0;
50      memset(map,0,sizeof(map));
51       for(int i=1;i<=m;i++)
52          for(int j=1;j<=n;j++){
53            cin>>map[i][j];
54          }
55        for(int i=1;i<=m;i++)
56           for(int j=1;j<=n;j++)
57           { if(map[i][j]=='@'){
58               count++;
59               dfs(i,j);
60            }
61           }
62           printf("%d\n",count);
63     }
64   }
View Code

 

转载于:https://www.cnblogs.com/chujian123/p/3366547.html

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

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

相关文章

java.io.FileNotFoundException:/mnt/sdcard/......(Permission denied)

今天在实现下载模块的时候&#xff0c;从服务器下载apk安装的时候总是不成功。 打开LogCat查看日志&#xff0c;发现在访问sdcard的时候出现Permission denied的情况。 百度之后发现原因是没有添加权限。 解决办法是在Manifest文件里添加&#xff1a; “<uses-permission an…

详解.NET IL代码(一)

本文主要介绍IL代码&#xff0c;内容大部分来自网上&#xff0c;进行整理合并的。 一、IL简介 为什么要了解IL代码&#xff1f; 如果想学好.NET&#xff0c;IL是必须的基础&#xff0c;IL代码是.NET运行的基础&#xff0c;当我们对运行结果有异议的时候&#xff0c;可以通过IL代…

CentOS yum安装mcrypt详细图解教程[linux]

在Linux的发行版CentOS 6.3 系统下&#xff0c;LAMP(LinuxApacheMysqlphp)环境搭建好后发现PHPMyadmin提示 “无法载入mcrypt模块” 的错误感觉很不爽&#xff0c;就尝试着使用yum安装提示找不到模块。如下为执行过程&#xff1a; [rootptr228 ~]# yum install php-mcrypt Sett…

[算法 笔记]2014年去哪儿网 开发笔试(续)第一题BUG修正

上一篇的blog地址为&#xff1a;http://www.cnblogs.com/life91/p/3313868.html 这几天又参加了一个家公司的笔试题&#xff0c;在最后的编程题中竟然出现了去哪儿网开发的第一题&#xff0c;也就是简化路径值。但是这次做题后&#xff0c;我发现我上次写的那个简化源码有很多问…

java封装264成flv,将H.264封装为FLV格式-Go语言中文社区

本文将介绍如何将H.264封装成flv格式。在看本文之间&#xff0c;建议先看一看下面两篇文章&#xff1a;首先说一说构建一个FLV文件需要什么&#xff1f;FLV Header FLv script tag FLV Video tag FLV Audio tag由于这里只是封装H.264&#xff0c;所以不包括Audio tag。下面将…

[转]iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.

解决&#xff1a; 应用程序池启动32位应用程序 设置托管管道为集成 &#xff08;仍然有问题&#xff09; 试试以下方法&#xff1a; http://phpwind.me/1222.html 楼主 发表于: 2011-11-26 图片:123.png 访问网站之前 应用程序池是开启的 访问后 网页报503 service unavailabl…

sublime php运行环境,sublime php 运行环境

sublime php 运行环境sublime php 运行环境有时候需要用运行一段 PHP 代码&#xff0c;比如测试某个函数返回值等等&#xff0c;如果启动Http Server&#xff0c;再打开浏览器&#xff0c;那黄花菜都凉了。我们可以在 Sublime Text 3 中创建 php 的 build system&#xff0c;这…

用Java写有关早上的语录,实用的适合早上发的早安问候语语录汇编39句

实用的适合早上发的早安问候语语录汇编39句不管梦想是什么&#xff0c;只有带着淡然的态度&#xff0c;做好当前的事情。早安&#xff01;下面是小编精心准备的适合早上发的早安问候语39句,欢迎大家前来欣赏。1、世上除了生死&#xff0c;其它都是小事。不管遇到了什么烦心事&a…

JQuery合并表格单元格

转&#xff1a;http://www.cnblogs.com/xuguoming/p/3412124.html JQuery合并表格单元格 一、需求 如果存在一个表格&#xff0c;想把其中某一列内容相同的部分合并单元格&#xff0c;用JQ动态如何操作&#xff0c;原始表格如下&#xff1a; 合并单元格之后的表格如下&#xff…

[音视频]H264码流分析工具

[音视频]H264码流分析工具 CTI-TS EasyICE Elecardstreameyetools VideoEye H264VideoESViewer 学习H264码流&#xff0c;H264码流进行分析 http://blog.csdn.net/leixiaohua1020/article/details/17933821 H264BSAnalyzer https://github.com/latelee/H264BSAnalyzer.g…

手机型号识别 手机PID UID 驱动识别 数据库包

主要用在手机驱动识别,列如手机助手开发,都需要用到这个.QQ9711-5034 整套数据库以及源码包含如下&#xff1a; 1&#xff09; 包含1160 张手机外壳图片&#xff0c;78 个手机驱动文件。 2&#xff09; 支持192 个品牌&#xff0c;2293 款手机&#xff0c;还有山寨机没有统计进…

Chart.js学习

一、简介 Chart.js是一个基于HTML5的简单的面向对象的图表库&#xff0c;支持包括IE7和8的所有现代浏览器。图表库中有6种表&#xff0c;分别是&#xff1a;曲线图&#xff08;Linecharts&#xff09;、柱状图&#xff08;Barcharts&#xff09;、雷达图&#xff08;Radarchart…

php将图片导入,php中图片文件的导入,上传与下载

---------------------------------------------图片的导入-------------------------------------------------------------------图片的上传与下载上传图片:序号图片添加时间操作//打开目录$diropendir("./images");//遍历目录$i;while($freaddir($dir)){if($f!&qu…

用parsetInt解析数字,并求和

实现代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"en"> <h…

oracle arp绑定mac地址,使用ARP命令来绑定IP和MAC地址

使用ARP命令来绑定IP和MAC地址前言&#xff1a;我本来没有想过写关于ARP绑定的文章&#xff0c;坦白的说一句&#xff0c;在你理解ARP工作的原理时&#xff0c;这其实比较简单。只是看到最近论坛很多人在问关于绑定IP和MAC地址的问题&#xff0c;所以才决定写这个文章&#xff…

阿里巴巴2013年实习生笔试题A

一、单项选择题 1.下列说法不正确的是&#xff1a;&#xff08;B&#xff09; A.SATA硬盘的速度速度大约为500Mbps/s B.读取18XDVD光盘数据的速度为1Gbps C.前兆以太网的数据读取速度为1Gpbs D.读取DDR3内存数据的速度为100Gbps 解析&#xff1a;有说B的&#xff0c;有说D的&am…

linux之间安全传输文件,使用SCP安全地传输文件[Linux] | MOS86

终端访问远程Linux机器的最常见方法是使用安全Shell(SSH)。要工作&#xff0c;Linux服务器需要运行SSH服务器(OpenSSH)&#xff0c;另一端需要一个SSH客户端&#xff0c;像Windows中的PuTTy&#xff0c;或者Linux上的ssh命令行工具&#xff0c;或者其他类似Unix的操作系统&…

putty远程登录linux有啥用,putty 自动远程登录linux

在实际的开发和学习中我们会频繁的使用某些远程登录工具&#xff0c;通过网络登录到linux系统中进行程序编写和调试。Putty是比较流行的工具&#xff0c;但是在putty下每次链接到远端linux都要重新输入用户名和密码&#xff0c;就显得有些麻烦了。那么&#xff0c;有没有什么方…

eclipse中对单独JS文件取消报错的处理

eclipse中对单独JS文件取消报错的处理 eclipse中js文件报错的情况&#xff0c;或许大家早已习以为常了&#xff0c;那么有什么好的方法可以将其忽略掉呢&#xff1f;如果你也在寻找此问题&#xff0c;那么本文或许可以帮助到你 - 忽略某个js文件报错的方法&#xff1a; Project…

c语言方向变量,C语言,变量与内存

一、数在计算机中的二进制表示符号位&#xff1a;最高位为符号位&#xff0c;正数该位为0&#xff0c;负数该位为1&#xff1b;原码&#xff1a;原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值反码&#xff1a;正数的反码是其本身&#xff1b;负数的反码是…