题目描述

描述

一个湖用 R x C (1 ≤ R ≤ 50; 1 ≤ C ≤ 50) 的网格表示。格点上的非负整数 D_rc (0 ≤ D_rc ≤ 1,000,000)表示该位置的深度。整数0表示该位置不是湖的一部分(有可能是湖岸,也有可能是湖中的小岛)。 由于测量误差,所以只有当某个格点的深度值和与它相邻的8个方向(上、下、左、右、另外4个是对角方向)格点中至少1个的深度值相等时,该格点的深度值才算作有效。 写一个程序,找出湖的最大的深度。

输入

第1行:2个空格分开的整数R和C;R表示行数,C表示列数 第2..R+1行:每行C个空格分开的整数,每个数表示一个格点的测量值D_rc

输出

第1行:1个整数,表示湖的最大深度。

样例输入

4 3

0 1 0

1 2 0

1 5 1

2 3 4

样例输出

1

提示

尽管5是最大值,但只有1是出现2次的相邻数。

题目分析

这道题刚拿到时,第一直觉就是DFS,但是后来交题之后猛然发现这道题其实根本不用DFS,只需判断已知的三个方向有任意一个是否是否是同等深度即可。

代码实现

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[55][55],x[8]={-1,-1,0,-1},y[8]={-1,0,-1,1},maxx;
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
        {
            scanf("%d",&a[i][j]);
            if(a[i][j]>maxx)
            for(int k=0;k<4;k++)if(a[i+x[k]][j+y[k]]==a[i][j])maxx=a[i][j];
        }
    printf("%d",maxx);
}

[openjudge-搜索]湖的深度的更多相关文章

  1. 如何使用网格搜索来优化深度学习模型中的超参数(Keras)

    https://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/ Ov ...

  2. Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview

    Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview   知识图谱的表示和在搜索中的展1 提升Google搜索效果3 1.找到最想要的信息.3 2.提供最全面的摘要.4 ...

  3. 【五子棋AI循序渐进】——多线程搜索

    关于多线程搜索,有很多方法来实现,很多文章推荐基于MTD(F)的方式.好处不言而喻,不过我的程序中采用的是基于PVS的多线程搜索.实现起来主要是这几个方面问题需要解决: 1.置换表的互斥访问. 2.局 ...

  4. 三角化---深度滤波器---单目稠密重建(高翔slam---十三讲)

    一.三角化 [1]三角化得到空间点的三维信息(深度值) (1)三角化的提出 三角化最早由高斯提出,并应用于测量学中.简单来讲就是:在不同的位置观测同一个三维点P(x, y, z),已知在不同位置处观察 ...

  5. 极小极大搜索方法、负值最大算法和Alpha-Beta搜索方法

    1. 极小极大搜索方法    一般应用在博弈搜索中,比如:围棋,五子棋,象棋等.结果有三种可能:胜利.失败和平局.暴力搜索,如果想通过暴力搜索,把最终的结果得到的话,搜索树的深度太大了,机器不能满足, ...

  6. [NOIP2002] 字串变换 宽搜+深度优化

    这道题硬是让我用STL水过.......而且题解里说的什么双向宽搜,交替扩展............... 这道题反正,STL用就用吧,但是状态数可以卡到千亿级别,因为这个东西是阶乘扩展的,然后我们发 ...

  7. 转:极小极大搜索方法、负值最大算法和Alpha-Beta搜索方法

    转自:极小极大搜索方法.负值最大算法和Alpha-Beta搜索方法 1. 极小极大搜索方法    一般应用在博弈搜索中,比如:围棋,五子棋,象棋等.结果有三种可能:胜利.失败和平局.暴力搜索,如果想通 ...

  8. uva 11212 - Editing a Book(迭代加深搜索 IDA*) 迭代加深搜索

    迭代加深搜索 自己看的时候第一遍更本就看不懂..是非常水,但智商捉急也是没有办法的事情. 好在有几个同学已经是做过了这道题而且对迭代加深搜索的思路有了一定的了解,所以在某些不理解的地方询问了一下他们的 ...

  9. js里的深度克隆

    ES6 数组克隆 let arr = [1,2,3,4,5]; let arr1 = [...a]; arr1 = ["a","b","c" ...

随机推荐

  1. @Resource注入为null

    UserController中userService为null只有一个原因, 那就是你所使用的UserController对象没有被IoC容器所管理,你使用的对象是自己new出来的, 而不由sprin ...

  2. Eclipse Maven profiles 多环境配置,测试环境与开发环境分开打包

    1.将开发环境.测试环境.生产环境的配置文件分开存放,如下图: 2.在Maven中配置不同的环境打包配置文件的路径,配置如下: <profiles> <profile> < ...

  3. BarTender中如何调整数据输入表单的大小?

    BarTender中的表单设计,是一个简单而又复杂的操作.简单的是它提供很多实用的工具,帮助用户实现更多的功能,复杂的是要对其进行排版设计,这就要看小伙伴们的个人要求高低了. 自定义数据输入表单时,你 ...

  4. PHPExcel所遇到问题的知识点总结

    工作中进行excel的时候遇到了两个问题, 1.excel表中列值过大,由于没有进行特殊处理,程序没法正常运行: 2.列值中含有日期格式的文本,不能正确读取: 所以通过网络搜索,并解决了问题,记录一下 ...

  5. 新唐MCU常用的工具软件

    ICP   在电路编程  需要NULINK ISP   在系统编程,可通过串口或USB PINVIEW 可以显示管脚目前的状态.提供keil下或者单独运行两种模式.Keil下进入debug模式后,点击 ...

  6. Let's Encrypt泛域名SSL证书申请

    操作系统:CentOS 7 github:https://github.com/Neilpang/acme.sh 有中文说明: https://github.com/Neilpang/acme.sh ...

  7. 字符串匹配的 KMP算法

    一般字符串匹配过程 KMP算法是字符串匹配算法的一种改进版,一般的字符串匹配算法是:从主串(目标字符串)和模式串(待匹配字符串)的第一个字符开始比较,如果相等则继续匹配下一个字符, 如果不相等则从主串 ...

  8. (二)区块链的共识算法:PoS 及其 例子 代码 实现

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  9. react+mobx 编写 Async装饰器

    使用 // indexStore.js import axios from "axios"; import { from } from "rxjs"; impo ...

  10. nvm的安装

    安装前可先卸载原来的node, npm, 安装成功后,可用nvm装node 一.用nvm-noinstall.zip安装 1.nvm-windows 下载 https://github.com/cor ...