给你一个n*n的地图。地图中的每个格子有一个值表示该地区的深度。我们称一个地图中的一个格子为空洞,当且仅当该格子不在地图边缘并且每个和它相邻的格子都具有比它更小的深度。两个格子称为相邻如果它们共有一条边。

你要找到地图中所有的空洞,并且用X描述。

输入格式

第一行包含一个整数n,表示地图的规模。 接下来n行中每行包含n个无空白的正数字。每个数字(1-9)表示对应区域的深度。

输出格式

输出n行,表示最终的地图结果。每个空洞要用字符X替换。

约束条件

1<=n<=100

1≤n≤100


题解:简单的模拟。

题解:

 import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*; public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] ar = new int[n][n];
for(int i = 0;i < n;i++){
String temp = in.next();
for(int j = 0;j < n;j++)
ar[i][j] = temp.charAt(j) - '0';
} for(int i = 0;i < n;i++){
StringBuffer sb = new StringBuffer();
for(int j = 0;j < n;j++){
boolean isHole = true;
//up
if(i-1<0||i+1>=n||j-1<0||j+1>=n)
isHole = false;
else{
if(ar[i-1][j] >= ar[i][j])
isHole = false;
if(ar[i+1][j] >= ar[i][j])
isHole = false;
if(ar[i][j-1] >= ar[i][j])
isHole = false;
if(ar[i][j+1] >= ar[i][j])
isHole = false;
} if(isHole)
sb.append('X');
else {
sb.append(ar[i][j]);
}
}
System.out.println(sb.toString());
}
}
}

【HackerRank】 有洞的地图的更多相关文章

  1. 超简单的canvas绘制地图

        本文使用geojson数据,通过缩放和平移把地图的地理坐标系转换canvas的屏幕坐标系,然后将转换后的数据绘制到canvas上.     首先要计算数据的最大最小值,遍历所有坐标点的最大最小 ...

  2. [转][修]利用matlab绘制地图上的点、线、面

    一.绘制点 %生成背景地图地图   h = worldmap('France'); %读取和显示大陆架   landareas = shaperead('landareas.shp','UseGeoC ...

  3. ContextCapture水面约束(水面破洞修复)

      [问题描述] 对于水面而言,由于特征点较少,软件在计算时很难匹配正确,导致输出模型的水面通常是支离破碎的.软件针对这种情况提供了一个约束工具,用户手动的为水面添加平面约束后,输出的水面模型就会非常 ...

  4. 创建Mesh->格子地图转NavMesh->可破坏墙壁

    1. 前言     最近连续做了很多代码动态生成Mesh的工作,从动态生成修改瞄准范围的Mesh到可破坏的墙壁,以及之前写了一半导航网格生成.     想借此机会整理下最近的积累,如果在阅读过程中发现 ...

  5. [转帖]挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息

    挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息 https://www.freebuf.com/vuls/202820.html 知识就是力量 5000刀的一个漏洞. ...

  6. Leaflet地图框架使用手册

    因为要做一个交通仿真项目,需要用到这个地图库,但是查询官方API麻烦,而且这个地图框架的API做的用起来确实太麻烦了..就从网上各种地方查找了一些,方便用, 大多都是复制,,见谅!! L.Map AP ...

  7. el-amap 遮罩(带洞多边形)

    el-amap 遮罩(带洞多边形) 遮罩(带洞多边形) 效果图 代码 <template> <div> <el-amap vid="amapDemo" ...

  8. echarts map 地图在react项目中的使用

    需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...

  9. CS起源-havana地图红方打法分析

    作者:海底淤泥 havana是美国第一人称射击游戏<反恐精英>中的地图之一,编号为cs_havana,这张地图发生在古巴哈瓦那的某座城市中,恐怖分子们挟持了几名美裔的重要政治人物,以此为筹 ...

随机推荐

  1. Encourage_by_WeChat

  2. Snowflake Snow Snowflakes - poj 3349 (hash函数)

    判断n朵雪花中,是否有完全一样的雪花.简单的hash,将雪花的六个边的权值加起来,记为sum,将sum相等的雪花归为一类,再在这里面根据题意找完全相同的,判断顺时针或者逆时针的所有角是否一模一样. # ...

  3. ImageData

    http://www.html5china.com/HTML5features/canvas/20120501_3591.html 1.上下文对象 Context 有三个方法用来创建.读取和设置 Im ...

  4. Hello JFinal World

    JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java 语言所有优势 ...

  5. 【OC学习-13】什么是组合,它和继承是什么关系?

    继承有两缺点:(1)当层级越来越多时,假如每一个层级都有实例变量,那么最下层的子类继承的实例变量会超级多,沉重.(2)当消息传递自子类往上时.层级越多,效率越低下. 所以就有了组合.说实话区分继承和组 ...

  6. python3----ASCII

    >>>print ord("a") 97 >>>print chr(97) a

  7. vmware 安装配置 ,记住这一次不要再问我了。ok?

    Linux 安装配置 ,记住这一次不要再问我了.ok? 第一步 选择版本 如果遇到问题无法自动获取的  老男孩教育-李泳谊<youjiu_linux@qq.com> 17:51:43明天开 ...

  8. python tensorflow方法手记

    Variable tf.Variable(initializer, name)给变量取名initializer是初始化参数,可以有tf.random_normal,tf.constant等.name就 ...

  9. linux 文本编辑器

    文本编辑器 文本编辑器是Linux操作系统中的重要工具.其中,VI是使用最广泛的文本编辑器,其可以在任何shell中使用.此外,Red Hat Enterprise Linux6 还提供了gedit工 ...

  10. 摄像机互联网直播之EasyCloud云平台与EasyNVS云端管控的全局对比

    背景分析 近期,Easy系列推出了EasyNVS,在功能上也是可以满足将内网的视频直播转发到公网,再由公网进行视频流的分发. 听起来和EasyCloud功能上是冲突的,其实两者之间的差别还是存在的,本 ...