这是我在洛谷上的第一篇题解!!!!!!!!

这个其实很简单的

我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见

#include<iostream>
#include<cstdio>
#include<cstring>
#include<iomanip>
#include<algorithm>
using namespace std;
char f[][];//霸气的开始潇洒自信
int js=;
int n=-,m=-;
void ac(int x,int y)
{
if(x< || y< || x>n || y>m)//发现是边界就返回上一层
return;//边界 f[x][y]='*';
if(f[x+][y+]=='@'){ac(x+,y+);}//八个方向各个开始寻找
if(f[x-][y-]=='@'){ac(x-,y-);}//找到就继续从找的的开始找
if(f[x+][y-]=='@'){ac(x+,y-);}
if(f[x-][y+]=='@'){ac(x-,y+);}
if(f[x][y+]=='@'){ac(x,y+);}
if(f[x][y-]=='@'){ac(x,y-);}
if(f[x+][y]=='@'){ac(x+,y);}
if(f[x-][y]=='@'){ac(x-,y);}
}
int main()
{
while(cin>>n>>m)
{
memset(f,,sizeof(f));//因为不去定有多少组数所以用这个
js=;//必须清零不然上一层的结果会影响现在的
if(n== && m==)//结束条件
{
return ;
}
for(int i=;i<=n;++i)
{
for(int j=;j<=m;++j)
{
cin>>f[i][j];//超级正常的输入
}
}
for(int i=;i<=n;++i)
{
for(int j=;j<=m;++j)
{
if(f[i][j]=='@')//找到第一个就开始从这个开始找
{
js++;//油区数量加一
ac(i,j);
}
}
}
cout<<js<<endl;//输出
}
return ;//完美的结束潇洒自信
}

洛谷 题解 UVA572 【油田 Oil Deposits】的更多相关文章

  1. [C++]油田(Oil Deposits)-用DFS求连通块

    [本博文非博主原创,均摘自:刘汝佳<算法竞赛入门经典>(第2版) 6.4 图] [程序代码根据书中思路,非独立实现] 例题6-12 油田(Oil Deposits,UVa572) 输入一个 ...

  2. ACM:油田(Oil Deposits,UVa 572)

    /* Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  3. 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)

    必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...

  4. 洛谷题解P4314CPU监控--线段树

    题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...

  5. 油田 Oil Deposits

    油田 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=84562#problem/L 题意: 输入一个m行n列的字符矩形,统计字符 ...

  6. 洛谷题解 CF777A 【Shell Game】

    同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后 ...

  7. 洛谷题解 CF807A 【Is it rated?】

    同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否 ...

  8. 洛谷题解 P1138 【第k小整数】

    蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...

  9. 【洛谷题解】P2303 [SDOi2012]Longge的问题

    题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\su ...

随机推荐

  1. docker下安装mysql数据库

    因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...

  2. Nginx fastcgi_cache权威指南

    一.简介 Nginx版本从0.7.48开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当做Key,用Md5算法对Key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在该目 ...

  3. Navicat 导出 表结构

    Navicat 导出 表结构 转自:https://www.cnblogs.com/xianxiaobo/p/10254737.html 1. 首先点击新建查询,然后输入下面的语句 SELECT CO ...

  4. IPv4如何转换为IPv6?

    ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计 ...

  5. Java知识回顾 (17)MySQL链接

    本部分介绍如何使用JDBC 连接 MySQL 数据库. 驱动包下载 Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connec ...

  6. ASUS笔记本,更换了固态硬盘,重装系统前后开机都自动进入BIOS界面

    解决方法:advanced标签中sata configration回车进入,如有识别硬盘设备,按F9恢复BIOS默认设置,按F10保存后重启. 如有自行安装过系统,Security-Secure Bo ...

  7. 单词dyamaund钻石dyamaund英语

    dyamaund  英文词汇,中文翻译为金刚石的;镶钻;用钻石装饰 中文名:镶钻;钻石装饰 外文名:dyamaund 目录 释义 dyamaund 读音:[?da??m?nd, ?da?m?nd] ...

  8. Java虚拟机如何运行Java字节码

    一.Java的class文件的内容 1.首先编写一个简单的代码 public class StringDemo { public static void main(String[] args) { S ...

  9. honeyd使用

    honeyd可以同时模仿上千个不同的计算机 官网 honeyd-1.5c.tar.gz:http://www.honeyd.org 依赖包 libevent-1.3a.tar.gz:http://li ...

  10. golang面向对象实现

    面向对象编程三大特点:封装.继承.多态. 1. 构造函数 Go不支持构造器.如果某类型的零值不可用,需要提供NewT(parameters)函数,用来初始化T类型的变量.按照Go的惯例,应该把创建T类 ...