当前位置: 首页 > wzjs >正文

建站哪家好 phpwind软文代写自助发稿平台

建站哪家好 phpwind,软文代写自助发稿平台,在元典公司做网站有合同吗,东营招聘网最新招聘题目描述 你有一张某海域 NxNNxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛…

题目描述

你有一张某海域 NxNNxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示:

.......

.##....

.##....

....##.

..####.

...###.

.......

其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。

例如上图中的海域未来会变成如下样子:

.......

.......

.......

.......

....#..

.......

.......

请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。

输入描述

第一行包含一个整数 N (1≤N≤1000)N (1≤N≤1000)。

以下 NN 行 NN 列代表一张海域照片。

照片保证第 1 行、第 1 列、第 NN 行、第 NN 列的像素都是海洋。、

输出一个整数表示答案。

输入输出样例

示例

输入

7
.......
.##....
.##....
....##.
..####.
...###.
.......

输出

1

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 12235  |  总提交次数: 14821  |  通过率: 82.6%

难度: 困难   标签: 2018, 省赛, DFS

package com.cjh.lanqiao;import java.util.Scanner;
//1:无需package
//2: 类名必须Main, 不可修改public class Main74 {static int[] xi = {-1,0,1,0}; //往上下左右四个方向寻找static int[] yi = {0,1,0,-1};static char[][] graph;//储存输入的地图static int[][] visited;//表示位置是否访问过static int N; //N * N像素地图static int flag = 0; //标记是否是被完全淹没的岛屿public static void main(String[] args) {Scanner sc = new Scanner(System.in);N = sc.nextInt(); //获取输入graph = new char[N][N]; //存储该地图visited = new int[N][N]; //记录该地图某点是否被访问过for (int i = 0; i < graph.length; i++) {graph[i] = sc.next().toCharArray();}int count = 0; //记录淹没岛屿的数量for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {if (visited[i][j] == 0 && graph[i][j] == '#') { //如果没有遍历过,且这块区域为陆地,就对其进行dfs遍历flag = 0; //每次循环结束重置flagdfs(graph, i, j);if (flag == 0) { //如果是岛屿,但是不能存在四个方向的“#“则未来会被淹没count++; //淹没的岛屿数量加一}}}}System.out.println(count);}//深度优先遍历static void dfs(char[][] graph, int x, int y) {visited[x][y] = 1; //标记已遍历过//因为有"#"的地方周围外圈都是海洋,所以不用担心下标越界问题if (graph[x][y + 1] == '#' && graph[x][y - 1] == '#'&& graph[x + 1][y] == '#' && graph[x - 1][y] == '#') {flag = 1; //如果四个方向都是‘#’则表明是不被完全淹没的岛屿,flag置为1}for (int i = 0; i < 4; i++) {//向四个方位移动,如果存在"#"(陆地)则继续递归寻找是否存在不被完全淹没的岛屿int xx = x + xi[i], yy = y + yi[i];if (visited[xx][yy] == 0 && graph[xx][yy] == '#') {dfs(graph, xx, yy);}}}
}

http://www.dtcms.com/wzjs/107302.html

相关文章:

  • 南京哪些公司做网站谷歌浏览器官方正版下载
  • 网站没有备案信息该怎么做2022年新闻热点摘抄
  • 高端网站制作平台网站关键词搜索排名
  • 接网站开发做多少钱大连seo按天付费
  • 无锡网站公司哪家好网站内容如何优化
  • 帝国cms收费吗哪里有seo排名优化
  • dyndns如何申请免费域名站群优化公司
  • 企业门户网站建设短视频代运营方案模板
  • 公司网站建设技术凡科网免费建站
  • 标题设计网站推广文章的注意事项
  • 免费网站建设itcask武汉seo招聘信息
  • 专门做汽车gps贷款网站百度服务电话6988
  • 如何做自己的电影网站天津天狮网络营销课程
  • 营销型网站搭建交换链接平台
  • 网站建设素材网页谷歌google 官网下载
  • 网站创建怎么做精准客源引流平台
  • 站长之家模板网站搭建服务
  • 企业推广方式优选隐迅推seo研究协会网app
  • 设计做网站通用cms的源代码热搜榜上2023年热搜
  • 哪个公司做视频网站营销推广方式都有哪些
  • 网站做301有什么用中国产品网
  • 公司网站 制作提升关键词
  • 蓝色网站配色方案百度词条官网入口
  • html怎么做网站地图网络广告人社区
  • 动态网站建设全程揭秘手机百度下载
  • vs2015做网站腾讯广告投放推广平台
  • 微信小程序直播平台鱼头seo软件
  • 福田欧辉新能源公交车谷歌seo网站运营
  • 做淘宝网站买个模版可以吗热门推广软件
  • 网站需要去工信部做备案好看的网站模板