蓝桥杯 全球变暖

2024-03-22 07:04
文章标签 蓝桥 全球 变暖

本文主要是介绍蓝桥杯 全球变暖,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Problem: 蓝桥杯 全球变暖

文章目录

  • 思路
  • 解题方法
  • 复杂度
  • Code

思路

这道题目可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来解决。我们需要遍历整个地图,当遇到陆地(‘#’)时,就进行搜索,统计这个岛屿的总陆地数量和边界陆地数量。如果这两个数量相等,说明这个岛屿会被完全淹没。

解题方法

初始化一个队列,用于存储需要搜索的陆地位置。
遍历整个地图,当遇到未被访问过的陆地时,将其加入队列,并标记为已访问。
进行 BFS 搜索,每次从队列中取出一个陆地位置,然后检查其四个方向的像素。如果是陆地且未被访问过,就加入队列;如果是海洋,就将当前陆地标记为边界陆地。
当队列为空时,搜索结束,返回总陆地数量和边界陆地数量。
如果总陆地数量等于边界陆地数量,就将岛屿数量加一。

复杂度

时间复杂度:

O ( n 2 ) O(n^2) O(n2),需要遍历整个地图,n 是地图的边长。

空间复杂度:

O ( n 2 ) O(n^2) O(n2),需要存储地图和访问状态,n 是地图的边长。

Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));static StreamTokenizer sr = new StreamTokenizer(in);static int MAXN = (int) (1e3 + 10);static char[][] grip = new char[MAXN][MAXN];static boolean[][] st = new boolean[MAXN][MAXN];static int n;static Queue<int[]> queue = new LinkedList<>();static int[][] move = { {}, { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } };public static void main(String[] args) throws IOException {n = nextInt();
//		in.readLine(); // 吃掉换行符for (int i = 0; i < n; i++) {grip[i] = in.readLine().toCharArray();}int cnt = 0;for (int a = 0; a < n; a++) {Arrays.fill(st[0], false);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (!st[i][j] && grip[i][j] == '#') {int[] result = bfs(i, j);int total = result[0];int bound = result[1];if (total == bound)cnt++;}}}out.println(cnt);out.flush();}private static int[] bfs(int x, int y) {// TODO Auto-generated method stubint total = 0, bound = 0;queue.offer(new int[] { x, y });st[x][y] = true;while (!queue.isEmpty()) {int[] arr = queue.poll();int nx = arr[0];int ny = arr[1];total++;boolean is_bound = false;for (int i = 1; i <= 4; i++) {int dx = nx + move[i][0];int dy = ny + move[i][1];// 越界if (dx < 0 || dy < 0 || dx >= n || dy >= n || st[dx][dy])continue;// 如果遇到.if (grip[dx][dy] == '.') {is_bound = true;continue;}queue.offer(new int[] { dx, dy });st[dx][dy] = true;}if (is_bound) {bound++;}}return new int[] {total, bound};}private static int nextInt() throws IOException {sr.nextToken();return (int) sr.nval;}}

这篇关于蓝桥杯 全球变暖的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834778

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_s

全球AI产品Top100排行榜

Web Top50的榜单里,AIGC类型的应用占比52%,遥遥领先。AIGC类型包括图像、视频、音乐、语音等的内容生成和编辑。音乐生成应用Suno在过去六个月中的排名跃升最为显著,从第36位上升至第5位。排名第二大类是通用对话/AI聊天/角色扮演类型的应用,占比20%,包括常见的ChatGPT、Claude、Character.ai等。其他是AI写作(8%)、AI搜索/问答(6%)、Agent/

[机缘参悟-222] - 系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进(软件系统、思维方式、亲密关系、企业系统、商业价值链、中国社会、全球)

目录 前言:系统的重构源于被动的痛苦、源于主动的精进、源于进化与演进 一、软件系统的重构 1、重构的定义与目的 2、重构的时机与方法 3、重构的注意事项 4、重构的案例分析 二、大脑思维的重构 1、大脑思维重构的定义 2、大脑思维重构的方法 3、大脑思维重构的挑战与前景 三、认知的重构 1、定义 2、目的 3、方法 四、实例 五、总结 四、婚姻家庭的重构 1、婚

找不同-第15届蓝桥省赛Scratch初级组真题第4题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第183讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。 第15届蓝桥杯省赛已于2024年8月24日落下帷幕,编程题一共有5题,分别如下: 猪八戒落地 游乐场 画西瓜 找不同 消

【蓝桥杯嵌入式(一)程序框架和调度器】

蓝桥杯嵌入式(一)程序框架和调度器 序、代码命名规则零、STM32和8051⼀、软件及环境安装⼆、⼯程框架搭建1.时钟配置2、SYS配置3、⼯程配置4、NVIC配置5.、Keil配置 三、系统初始化四、任务调度器 链接: 视频出处 序、代码命名规则 以下是一些常见的举例 零、STM32和8051 链接: 8位和32位单片机最本质区别 ⼀、软件及环境安装

【蓝桥杯嵌入式(二)Led、Key、Lcd】

蓝桥杯嵌入式(二)Led、Key、Lcd 五、Led模块1.原理图配置2. 知识点3.底层代码 六、Key模块1.原理图配置2.知识点3.底层代码底层代码(四⾏代码版本)底层代码(状态机版本) 七、LCD模块1.原理图配置2.知识点底层代码 五、Led模块 1.原理图配置 2. 知识点 链接: 上拉电阻的通俗解释 链接: 单⽚机怎么输出⾼电平!推挽输出和开

企业合规:从英伟达事件到全球企业的必修课

随着全球化和信息技术的飞速发展,企业在全球范围内的商业活动变得日益复杂。这种复杂性不仅源自商业操作本身,更来自于不同国家和地区的法律法规限制。英伟达面临的反垄断调查,是一个典型案例,展示了即便是科技巨头也可能因忽视合规而面临重大风险。这一事件应成为中国乃至全球企业的警钟,促使所有企业重视并加强合规管理。 最近,英伟达因其市场行为而受到美国司法部的反垄断调查,这引发了广泛的关注。据报道,司法部

2024全球广播摄像机市场前景如何?IP网络化云端融合趋势加强

一、前言 当前,全球广播电视用户持续向流媒体迁移。大多数国家广播电视台推出独立流媒体平台,流媒体趋势日渐加强。与奈飞等非广电系流媒体平台只提供点播服务不同,广电系流媒体平台一般提供电视频道直播服务、电视回看服务、视频点播服务,与传统电视渠道形成互补,而这些流媒体平台与网络媒体平台所能提供的视频服务存在着非常重合的区域。 (1)流媒体时代加速广播摄像机专业影视化发展 全球广电系流媒体平台竞争力

《绝区零》全球累积收入突破1亿美金;《原神》斩获年度最佳手游大奖 | 手游和应用出海资讯

NetMarvel帮助游戏和应用广告主洞察全球市场、获取行业信息,以下为9月第一周资讯: 《绝区零》全球累积收入突破1亿美金《原神》荣获科隆游戏展年度最佳手游大奖《无限暖暖》在App Store开启预定网易代理的《漫威终极逆转》即将登陆国服棋牌类手游《Jackaroo》登顶iOS中东地区榜单AI应用厂商AIBY月流水超600万美金出海公司孵化全球月访问300万生图产品《黑神话》预估销量已