蓝桥杯--全球气温变暖

import java.util.Scanner;

public class top7 {
    //全球边暖
    //思路,就是找出上下左右都是#的地方,如果这个地方是的,那么此时count++
  
    static int count=0;
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        //        //去掉引号之后的回车符
        scanner.nextLine();
        int[][] visited=new int [n][n];

       
        char[][] chars = new char[n][n];
        for(int i=0;i<n;i++)
        {
           
            String input=scanner.nextLine() ;
            chars[i]=input.toCharArray();


        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++) {
                if(chars[i][j]=='#'&& visited[i][j]==0) {
                    visited[i][j] = 1;
                    dfs(i, j, n, visited, chars);
                }
            }
     System.out.println(count);


    }


    static void dfs(int x,int y,int n,int visited[][],char chars[][])
    {
        int [] d={-1,0,1,0};
        int [] m={0,1,0,-1};
        //判断上下左右是否为#
   
        if(chars[x-1][y]=='#' &&chars[x][y+1]=='#'&&chars[x+1][y]=='#' &&chars[x][y-1]=='#' ){

            count++;

        }
  

        int next_x;
        int next_y;
       
        for(int i=0;i<4;i++)
        {
           
            next_x=d[i]+x;
            next_y=m[i]+y;
            if(next_x>=0 && next_x<n && next_y>=0 && next_y<n)
             
                if(chars[next_x][next_y]=='#'&& visited[next_x][next_y]==0) {

                    visited[next_x][next_y] = 1;
                    dfs(next_x, next_y, n, visited, chars);
//                    visited[next_x][next_y] = 0;
                }
        }


    }

}


总结:

1.如何输入字符数组(一层for循环)

首先每一行的读入一个字符串 scanner.nextLine()

然后将这个字符串转化为字符数组  tocharArrays()

2.探索上下左右四个方向(此时需要声明一个二维数组,或者是两个一维数组,注意数组的对应关系)

3.首先判断当前的是否为#,如果是,那么进入dfs

如果其上下左右都是#,那么不会被淹没

如果不是,那么此时像是#方向移动,并且再次判断其上下左右是不是#

知道遍历完成

4.为什么这个地方不需要回溯????

5.希望有大佬给出正确的思路和答案,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/469629.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day14 代码随想录(1刷) 42接雨水+二叉树遍历

42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3…

【C++】用红黑树模拟实现set、map

目录 前言及准备&#xff1a;一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器&#xff08;正向&#xff09;2.1 前置 三、模拟实现set四、模拟实现map 前言及准备&#xff1a; set、map的底层结构是红黑树&#xff0c;它们的函数通过调用红…

【CSS练习】万年历 html+css+js

效果图 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><style>bod…

车辆运动学和动力学模型

参考&#xff1a;路径规划与轨迹跟踪系列算法学习_第9讲_车辆运动学和动力学模型 1 车辆运动学模型和动力学模型概述 要控制车辆的运动&#xff0c;首先要对车辆的运动建立数字化模型&#xff0c;模型建立的越准确&#xff0c;对车辆运动的描述越准确&#xff0c;对车辆的跟踪…

Django分页器

Django分页器 分页器前瞻之url urls.py不需要做修改 urlpatterns [path(test/, views.test,nametest), ]假设此时在原有的路径http://127.0.0.1:8000/app01/test后面添加/?page2 然后再后端获取到page def test(request):page request.GET.get(page)print(page) # 2retu…

Linux--如何在Linux上运行一个helloworld

一.安装vim和gcc sudo --是进入管理员模式 apt --是 Advanced Package Tool&#xff08;高级软件包工具&#xff09;的缩写&#xff0c;这是用于管理软件包的一种工具。 install --是安装的意思 后面跟软件的名称 完整的意思&#xff1a;在管理员的模式下安装 某个软件 …

使用jQuery的autocomplete实现数据查询一次,联想自动补全

书接上回&#xff0c;上次说到在jsp页面中&#xff0c;通过监听输入框的数值变化&#xff0c;实时查询数据库&#xff0c;得到返回值使用autocomplete属性自动补全&#xff0c;实现一个联想补全辅助操作&#xff0c;链接&#xff1a;使用jquery的autocomplete属性实现联想补全操…

C++--STL标准库

一.模板 模板是C中泛型编程的基础。一个模板就是一个创建类或函数的蓝图。 生活中常见的模板有: 编写一个比较两个值大小的函数&#xff0c;如果第一个值大于第二个值返回大于0的数字,两个值相等返回0,第一个值小于第二个值返回小于0的数字。 我们可以根据值类型定义多个函数&…

2024年阿里云服务器搭建幻兽帕鲁游戏_保姆级教程

玩转幻兽帕鲁服务器&#xff0c;阿里云推出新手0基础一键部署幻兽帕鲁服务器教程&#xff0c;傻瓜式一键部署&#xff0c;3分钟即可成功创建一台Palworld专属服务器&#xff0c;成本仅需26元&#xff0c;阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

SecureCRT出现乱码的解决方法

SecureCRT是一个商业终端连接工具&#xff0c;它支持多种自定义设置。默认设置下&#xff0c;通过SecureCRT连接SSH服务器可能出现中文乱码的情况。这是由于SecureCRT字符编码与服务器的字符编码不一致造成的。 当然解决这个问题也很简单&#xff0c;将SecureCRT字符编码设置成…

深入探讨Python中的文件操作与文件IO操作【第141篇—Python实现】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 深入探讨Python中的文件操作与文件IO操作 在Python编程中&#xff0c;文件操作和文件IO操作…

计算机缺失msvcp110.dll如何修复,多种修复方法教给你

当电脑系统中msvcp110.dll文件丢失时&#xff0c;可能会对计算机的正常运行产生一系列显著的影响。msvcp110.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;这个动态链接库文件对于许多基于Windows的应用程序至关重要&#xff0c;尤其是一些使用C编译器…

干货整理!火石控股创始人吴渔夫的 AI 游戏思维20条

近日&#xff0c;在一场面对面的直播中&#xff0c;自媒体「极新」创始人姜稳与火石控股创始人、奇酷网络董事长吴渔夫进行视频对话中&#xff0c;探讨了AI技术对游戏行业的新机遇和新挑战。 中国网游先锋&#xff0c;火石控股创始人&#xff0c;奇酷网络董事长吴渔夫认为&…

【亲测】Onlyfans年龄认证怎么办?Onlyfans需要年龄验证?

1. 引言 什么是OnlyFans&#xff1a;OnlyFans是一种内容订阅服务&#xff0c;成立于2016年&#xff0c;允许内容创作者从用户那里获得资金&#xff0c;用户需要支付订阅费用才能查看他们的内容。它在多个领域受到欢迎&#xff0c;包括音乐、健身、摄影&#xff0c;以及成人内容…

万众期待,催更5年,《码农翻身2》强势来袭!!!

转眼间&#xff0c;距离《码农翻身》的出版已经过了5 年时间&#xff0c;很多读者催问&#xff1a;“什么时候出《码农翻身2》&#xff1f;我已经等不及了&#xff01;”“疫情都结束了&#xff0c;《码农翻身2》在哪儿&#xff1f;”…… 现在《码农翻身2》终于来了&#xff…

靠谱且性价比高的随身WiFi推荐!买随身WiFi应该注意什么?最全攻略,新手必看

一、哪些人更适合使用随身WiFi呢&#xff1f; 1、【学生党】校园网太差&#xff0c;流量费太贵&#xff0c;没钱的学生党用个靠谱的随身WiFi挺不错的。 2、【户外工作者】货车司机、滴滴司机等。高峰期抢单没信号&#xff0c;空闲打发时间没流量&#xff0c;可以使用一个。 3…

改进YOLOv8注意力系列六:结合SEAttention轻量通道注意力、ShuffleAttention重排特征注意力模块、SimAM无参数化注意力

改进YOLOv8注意力系列五:结合ParNetAttention注意力、高效的金字塔切分注意力模块PSA、跨领域基于多层感知器(MLP)S2Attention注意力 代码SEAttention轻量通道注意力ShuffleAttention重排特征注意力模块SimAM无参数化注意力加入方法各种yaml加入结构本文提供了改进 YOLOv8注…

智能合约 之 部署ERC-20

Remix介绍 Remix是一个由以太坊社区开发的在线集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在帮助开发者编写、测试和部署以太坊智能合约。它提供了一个简单易用的界面&#xff0c;使得开发者可以在浏览器中直接进行智能合约的开发&#xff0c;而无需安装任何额外的…

Linux 进程管理工具top ps

概述 top 和 ps 是 Linux 系统中两个非常重要的用于管理和监控进程的命令工具。以下是它们的主要功能和区别&#xff1a; top&#xff1a; 动态视图&#xff1a;top 提供了一个实时动态更新的视图&#xff0c;能够持续显示系统中当前正在运行的进程信息及其资源占用情况。 系统…

2024-Spring IOC 和 AOP源码分析(上篇)

**前言&#xff1a;**笔者最近面了几次大厂。。。开局Spring源码暴击 之前看过忘了写篇总结。。。 1、介绍一下Spring 核心组件&#xff1a; 常用模块&#xff1a; 常用注解&#xff1a; 2、说一下SpringIOC原理 概念&#xff1a;Spring 通过一个配置文件描述 Bean 及 B…