刷题笔记 洛谷 P1162 填涂颜色

思路来自 大佬 hat.openai.com/c/9c30032e-5fb9-4677-8c15-9ea6530dc6db

题目链接 P1162 填涂颜色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路 搜索  

首先 在外面围上一圈0开始搜素 

因为题目说将封闭区域内的0变成2 我们可以在外面进行搜索 

把外面所有可以搜索走过的区域变成2 这样1围成的封闭区域里的是0;

1作为“围墙”

输出的时候 输出2-a[i][j]

可以走到的地方就变成0

围墙2-1=1 保持不变

封闭区域内的0我们没访问到 未标记 所以2-0=2

于是 实现了将所有封闭区域的0变成2

代码

#include<iostream>
#include<queue>
using namespace std;
int n;
int a[35][35];
queue <pair <int,int> > que;//定义一个可以储存数对的队列 
void search(int x,int y){
    int dx[5]={0,0,1,0,-1};//设置偏移量  
    int dy[5]={0,1,0,-1,0};//基本操作 不会可以去搜 
    que.push(pair<int,int> (x,y));//合法点入队 
    while(!que.empty() ){
        pair<int,int> t=que.front();//取出 
        que.pop() ;
        a[t.first ][t.second ]=2;//标记可以搜到 
        for(int i=1;i<=4;i++){
            if(t.first +dx[i]>=0&&t.first +dx[i] <= n+1)
            if(t.second+dy[i]>=0&&t.second+dy[i] <= n+1)//判断是否越界 
            if(a[t.first +dx[i]][t.second +dy[i]]==0){//如果可以到达该点 
                que.push(pair<int,int>(t.first +dx[i],t.second +dy[i]));//存入 
            }
        } 
    } 

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
        }
    }
    search(0,0);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cout<<2-a[i][j]<<' ';
        }
        cout<<endl;
    }
    
    
    
    
    
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx----高性能的WEB服务端(四)

一、http 协议反向代理 1、反向代理&#xff1a;缓存功能 ​ proxy_cache zone_name | off; 默认off #指明调用的缓存&#xff0c;或关闭缓存机制;Context:http, server, location #zone_name 表示缓存的名称.需要由proxy_cache_path事先定义proxy_cache_key string; #缓存中…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(5.详解List数据结构)

本文是深入理解 Redis 常用数据类型源码及底层实现系列的第5篇&#xff5e;前4篇可移步(&#xffe3;∇&#xffe3;)/ 【Redis】深入理解 Redis 常用数据类型源码及底层实现&#xff08;1.结构与源码概述&#xff09;-CSDN博客 【Redis】深入理解 Redis 常用数据类型源码及底…

BeautifulSoup+xpath+re+css简单复习+新的scrapy的学习

1.BeautifulSoupsoup BeautifulSoup(html,html.parser)all_icosoup.find(class_"DivTable") 2.xpath trs resp.xpath("//tbody[idcpdata]/tr") hong tr.xpath("./td[classchartball01 or classchartball20]/text()").extract() 这个意思是找…

基于RabbitMQ的RPC通信

基于RabbitMQ的RPC通信 版本信息操作步骤搭建RabbitMQ(默认用户名:guest 密码:guest )服务端实现(srv.py)客户端实现(client.py)性能测试(4919 qps) 当需要调用局域网中的服务时,可以用frp进行穿透,也可以在公网搭建RabbitMQ服务器做消息中转,本文演示了这个步骤。 版本信息 …

文件拖放到窗体事件

网上的实现1 实现结果 具体实现代码&#xff1a;注意需要使能允许拖拽 public partial class Form1 : Form {public Form1(){InitializeComponent();this.AllowDrop true; //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text DateTime.No…

一键安装|卸载 mysql 8.2.0 shell脚本

场景&#xff1a;为了在无网、外网 mysql 安装方便&#xff0c;这里分享一个自己编写得 shell脚本 这里以当前最新版 mysql 8.2.0&#xff1b;centos-7 二进制包下载&#xff1a; 下载地址 mysql_install.sh #!/bin/bash # 解压安装包 tar -xf mysql-8.2.0-linux-glibc2.17-x8…

GO语言学习笔记(与Java的比较学习)(三)

函数 按值传递&#xff08;call by value&#xff09; 按引用传递&#xff08;call by reference&#xff09; Go 默认使用按值传递来传递参数&#xff0c;也就是传递参数的副本。函数接收参数副本之后&#xff0c;在使用变量的过程中可能对副本的值进行更改&#xff0c;但不…

TC3xx SMU、PMIC和Tranceiver的功能安全闭环

目录 1.TLF35584安全状态输出响应对象 1.1 响应ERR 收集到的错误信号 1.2 响应监控功能引发的ROT 1.3 响应看门狗引发的错误 1.4 环境过温引发的错误状态 1.5 为什么设计SSx&#xff1f; 2. 安全状态输出给谁 3.小结 在之前文章里&#xff0c;我们简述了TC3xx SMU如何…

npm install常见错误的完整指南

目录 1. ERR! Error: EACCES2. ERR! ENOENT3. ERR! network timeout4. ERR! Maximum call stack size exceeded5. ERR! Failed at the xxxxxx install script6. ERR! code EINTEGRITY7. ERR! Please try running this command again as root/Administrator8. ERR! code ELIFECY…

尚硅谷(SpringCloudAlibaba微服务分布式)学习代码Eureka部分

1.项目结构 2.cloud2024 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.a…

ERPNext v14在ubuntu22上安装配置的完整过程

注意:在配置ERPNext之前,我是用virtualbox配置了好多次ubuntu22.04操作系统,一路都很通畅,唯独重启操作系统后,就会出现黑屏的现象。期间尝试了更改显存大小、内存大小、磁盘大小,甚至一度怀疑是自己电脑或者ubuntu22.04的镜像问题等等,一直未解决。真正的原因竟然是vir…

面试笔记系列六之redis+kafka+zookeeper基础知识点整理及常见面试题

Redis redis持久化机制&#xff1a;RDB和AOF Redis 持久化 Redis 提供了不同级别的持久化方式: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redi…

IPD(集成产品开发)—核心思想

企业发展到一定阶段就会遇到管理瓶颈&#xff0c;IPD流程是一种高度结构化的产品开发流程&#xff0c;它集成了业界很多优秀的产品开发方法论&#xff0c;像搭积木一样的组合成一种非常有效的流程。如果我们能根据企业的规模和行业特点&#xff0c;对全流程的IPD进行合适的裁剪…

Dell R730 2U服务器实践1:开机管理

新入手一台Dell R730 2U服务器&#xff0c;用来做FreeBSD下的编译工作和Ubuntu下简单的AI学习和调试。 服务器配置&#xff1a; CPU&#xff1a;E5 2680V4 2 14核心 内存&#xff1a;DDR4 ECC 16G2 2133 MHz 网卡&#xff1a;双千双万 Intel(R) 2P X540/2P I350 rNDC 硬盘…

html2canvas + JsPDF.js 导出pdf分页时的问题

问题描述 前一段时间 实现了html2canvas jspdf.js 导出pdf的功能 项目当时没有测试做完就先搁置 最近项目要上线发现分页时问题 这篇文章记录一下之前的bug import html2canvas from html2canvas; import JsPDF from jspdf export function savePdf(el, title) {html2canva…

能源计量器具的种类划分

能源计量器具是指测量对象为一次能源、二次能源和载能工质的计量器具。 1.能源计量器具的分类 (1)按结构特点分类。 量具&#xff0c;用固定形式复现量值的计量器具&#xff0c;如量块、砝码标准电池、标准电阻、竹木直尺、线纹米尺等。 计量仪器仪表&#xff0c;将被测量的量…

What to Look for When Evaluating Middleware for Integration

Game Engine Gem 1 1.1 我们该如何对待中间件 现代游戏很少有完全由内部开发人员编写的专有定制代码组成的作品。在游戏行业中竞争所需的大量精良功能&#xff0c;对于一个工作室来说简直就是一项艰巨的任务&#xff0c;用一句话概括就是 "无利可图"。如今&#xff0…

Google checkstyle实战

概述 CheckStyle检查代码是否符合制定的规范。CheckStyle检查是基于源码的&#xff0c;无需编译&#xff0c;执行速度快。 CheckStyle的主要流程是&#xff1a; 对Java文件进行词法语法分析&#xff0c;生成语法树。载入配置文件&#xff08;checkstyle-metadata.xml以及自定…

JAVA调用lua脚本

一、依赖包 <dependency><groupId>org.luaj</groupId><artifactId>luaj-jse</artifactId><version>3.0.1</version></dependency> 二、代码示例 // 脚本函数可以存在字符串中String formula "function ntc(n) return 2…

软考高级系统分析师:数据库知识点数据库的范式和例题

一、AI 解读 数据库范式是一组规则&#xff0c;用于指导数据库设计&#xff0c;以减少数据冗余、提高数据完整性&#xff0c;并支持更有效的数据处理。下面是几个常见的数据库范式&#xff0c;我将用通俗易懂的语言和示例来帮助你理解它们&#xff1a; 第一范式&#xff08;1…