洛谷C++简单题练习day6—P1830 城市轰炸
day6--P1830 城市轰炸--1.26
习题概述
题目背景
一个大小为 n×m 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。
题目描述
在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次,最后一次是第几轮。
输入格式
第一行共四个整数,分别为n,m,x,y。
接下来 x 行,每行四个整数 x1,y1,x2,y2,表示被轰炸的矩形的左上角坐标和右下角坐标 b比如 1,3,7,10 ( 1,3,7,10就表示被轰炸的地方是从(1,3) 到(7,10) 的矩形。)
接下来 y 行,每行两个整数,表示这个关键点的坐标。
输出格式
输出共 y 行,每行第一个字符为 Y 或 N,表示是否被轰炸;若为 Y,在一个空格后为两个整数,表示被炸了几次和最后一次是第几轮。

代码部分
#include<bits/stdc++.h>//令人兴奋的万能头
using namespace std;int n,m,x,y,xx,yy,xxx,yyy,a[101][101],b[101][101];
int main()
{//n、m、x、y 表示城市行、列、轰炸次数(被炸的矩形的数量)、关键点数量(需要查询的点的数量) cin>>n>>m>>x>>y;for(int i=1;i<=x;++i){//输入轰炸的左上角坐标和右下角坐标cin>>xx>>yy>>xxx>>yyy;//遍历被轰炸矩形的行坐标,从左上角的行坐标 xx 遍历到右下角的行坐标 xxxfor(int ii=xx;ii<=xxx;++ii)//遍历被轰炸矩形的列坐标,从左上角的列坐标 yy 遍历到右下角的列坐标 yyyfor(int jj=yy;jj<=yyy;++jj){++a[ii][jj]; //把此坐标轰炸的次数加1b[ii][jj]=i; //把值改成最后轰炸的一轮(记录最后一次轰炸发生在第几轮)}}for(int i=1;i<=y;++i)//枚举关键点{cin>>xx>>yy;//输入第i个关键点的坐标if(a[xx][yy]==0)//判断此关键点有没有被炸过cout<<"N\n";else//没炸过输出N//否则输出Y、此关键点被轰炸次数和最后轰炸的一轮cout<<"Y "<<a[xx][yy]<<' '<<b[xx][yy]<<"\n";}return 0;
}
心得体会
1.下面是该小练习的轰炸情况:

2.下面是标注了具体输入输出语句的运行结果:

3.思路如下:
整体思路:是首先根据输入的轰炸信息,记录每个格子被轰炸的次数和最后一次轰炸的轮数。然后根据查询的关键点,判断其是否受到过轰炸,并输出相应的结果。
具体思路:
1)从标准输入读取城市的行数 n、列数 m、轰炸次数 x 和关键点数量 y。
2)使用循环,依次处理每次轰炸的矩形区域。
(1)从标准输入读取被轰炸矩形的左上角坐标 (xx, yy) 和右下角坐标 (xxx, yyy)。
(2)使用嵌套循环遍历被轰炸矩形区域内的每个格子。
(3)在每个格子上,将数组 a 中对应位置的值增加1,表示该位置被轰炸的次数。
(4)将数组 b 中对应位置的值设置为当前轰炸的轮数。
3)使用循环,依次处理每个关键点的查询。
(1)如果关键点在数组 a 中对应位置的值不为0,则输出 "Y",后面跟着被轰炸的次数和最后一 次轰炸的轮数。
(2)检查关键点在数组 a 中对应位置的值,如果为0,则输出 "N",表示该关键点未受到轰炸。 (3)从标准输入读取关键点的坐标 (xx, yy)
4)输出结果到标准输出。
4.拿到题后观察输入输出的示例其实很重要,从中可以梳理出大致的程序结构。
5.附带批注具体的文字的代码
#include<bits/stdc++.h>//令人兴奋的万能头
using namespace std;int n,m,x,y,xx,yy,xxx,yyy,a[101][101],b[101][101];
int main()
{
//n、m、x、y 表示城市行、列、轰炸次数(被炸的矩形的数量)、关键点数量(需要查询的点的数量) cout << "请输入城市的行数、列数、轰炸次数和关键点数量:";cin>>n>>m>>x>>y;cout << "请依次输入每次轰炸的矩形区域信息!" << endl;for(int i=1;i<=x;++i){//输入轰炸的左上角坐标和右下角坐标cout << "输入第 " << i << " 次轰炸的左上角坐标和右下角坐标:";cin>>xx>>yy>>xxx>>yyy;//遍历被轰炸矩形的行坐标,从左上角的行坐标 xx 遍历到右下角的行坐标 xxxfor(int ii=xx;ii<=xxx;++ii)//遍历被轰炸矩形的列坐标,从左上角的列坐标 yy 遍历到右下角的列坐标 yyyfor(int jj=yy;jj<=yyy;++jj){++a[ii][jj]; //把此坐标轰炸的次数加1b[ii][jj]=i; //把值改成最后轰炸的一轮(记录最后一次轰炸发生在第几轮)}}cout << "请依次输入每个关键点的坐标!" << endl;for(int i=1;i<=y;++i)//枚举关键点{cout << "输入第 " << i << " 个关键点的坐标:";cin>>xx>>yy;//输入第i个关键点的坐标if(a[xx][yy]==0)//判断此关键点有没有被炸过cout<<"N 关键点未受到轰炸";//没炸过输出Nelse//否则输出Y、此关键点被轰炸次数和最后轰炸的一轮cout<<"Y 关键点受到轰炸"<<",被轰炸次数为"<<a[xx][yy]<< ",最后一次轰炸的轮数为 " <<b[xx][yy]<<"\n";}return 0;
}
相关文章:
洛谷C++简单题练习day6—P1830 城市轰炸
day6--P1830 城市轰炸--1.26 习题概述 题目背景 一个大小为 nm 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。 题目描述 在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有&a…...
【linux-interconnect】What NVIDIA MLNX_OFED is?
NVIDIA MLNX_OFED Documentation v23.07 - NVIDIA Docs 文章目录 What NVIDIA MLNX_OFED is?Overview[Software Download](https://docs.nvidia.com/networking/display/mlnxofedv23070512#src-2396583107_NVIDIAMLNX_OFEDDocumentationv23.07-SoftwareDownload) Wh…...
Unity开发中的XML注释
在Unity开发中,XML注释主要用于C#脚本的注释,以帮助生成代码文档和提供IntelliSense功能。以下是一些关于如何使用XML注释的技巧: 创建注释: 在C#中,XML注释是由///或/**...*/开始的。例如 /// <summary> /// 这…...
[MQ]常用的mq产品图形管理web界面或客户端
一、MQ介绍 1.1 定义 MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。 如果非要用一个定义来概括只能是抽象出来一些概念,概括为跨服务之间传递信息的软件。 1.2 MQ产品 较为成熟的MQ产品:IBMMQ(IBM We…...
JWT令牌(JSON Web Token)
目录 1 前言 2 JWT令牌的组成 3 使用步骤举例 3.1 pom.xml中引入依赖 3.2 JWT生成 3.3 JWT验证 4 实践中的使用举例 4.1 拦截非法访问 4.1.1 编写为工具类 4.1.2 下发给用户 4.1.3 编写拦截器 4.1.4 注册拦截器 4.2 获取相关数据提升效率 1 前言 在我们编写的后端…...
华硕ASUS K43SD笔记本安装win7X64(ventoy为入口以支撑一盘多系统);友善之臂mini2440开发板学习
记录 老爷机 白色 华硕 K43SD 笔记本 安装 win7X64 1. MBR样式常规安装win7X64Sp1 (华硕 K43SD 安装 win7X64 ) 老爷机 白色 华硕 K43SD 笔记本 安装 win7X64 (常规安装) 设置: 禁用UEFI 启用AHCI ventoy制作MBR(非UEFI)方式的启动U盘 U盘中放cn_windows_7_ultimate_wit…...
npm设置源(原淘宝源域名已过期)
今天打包机器报错, Couldnt find package "antd-mobile2.3.4" required by "neo-ui-mf-base1.0.41" on the "npm" registry. 找不到antd mobile的包,查看源发现淘宝域名npm.taobao.org 和 registry.npm.taobao.org 域名…...
操作系统-进程通信(共享存储 消息传递 管道通信 读写管道的条件)
文章目录 什么是进程通信为什么进程通信需要操作系统支持共享存储消息传递直接通信方式间接通信方式 管道通信小结注意 什么是进程通信 分享吃瓜文涉及到了进程通信 进程通信需要操作系统支持 为什么进程通信需要操作系统支持 进程不能访问非本进程的空间 当进程P和Q需要…...
NODE笔记 2 使用node操作飞书多维表格
前面简单介绍了node与简单的应用,本文通过结合飞书官方文档 使用node对飞书多维表格进行简单的操作(获取token 查询多维表格recordid,删除多行数据,新增数据) 文章目录 前言 前两篇文章对node做了简单的介绍ÿ…...
Scikit-Learn 高级教程——自定义评估器
Python Scikit-Learn 高级教程:自定义评估器 Scikit-Learn 提供了许多内置的评估器(Estimator)来进行机器学习任务,但在某些情况下,我们可能需要自定义评估器以满足特定需求。本篇博客将深入介绍如何在 Scikit-Learn …...
6 时间序列(不同位置的装置如何建模): GRU+Embedding
很多算法比赛经常会遇到不同的物体产生同含义的时间序列信息,比如不同位置的时间序列信息,风力发电、充电桩用电。经常会遇到该如此场景,对所有数据做统一处理喂给模型,模型很难学到区分信息,因此设计如果对不同位置的…...
Git 基本概念
Git是一种版本控制系统,用于跟踪文件的更改并协同开发代码。它具有以下基本概念和使用方式: 仓库(Repository):Git将文件存储在仓库中,它是保存项目历史记录和更改的地方。一个项目通常有一个主要的仓库。 …...
android:excludeFromRecents
android:excludeFromRecents 基础从根上影响 TaskexcludeFromRecents 属性可能会影响系统 基础 android:excludeFromRecents是一种在Android应用程序清单文件(AndroidManifest.xml)中使用的属性,用于指定一个Activity是否应该在最近任务列表…...
微信小程序登录获取手机号教程(超详细)
1. 背景介绍: 在我们开发微信小程序时,登录时,需要获取用户手机号作为唯一标识,下面我介绍一下获取手机号的教程。 本篇文章介绍后端获取方法: 前端工作 后端工作 前端 新建Page页面,在xxx.wxml中加入…...
uniapp app更新
uniapp app更新 这个版本要随之增加,不然刚更新时直接用app, 新包增加的那些页面跳转会有问题,不能跳新的页面 //app更新检测 updataApp(){const that this;uni.showLoading({title:加载中...})plus.runtime.getProperty(plus.runtime.appid, functio…...
C语言第八弹---一维数组
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 一维数组 1、数组的概念 2、⼀维数组的创建和初始化 2.1、数组创建 2.2、数组的初始化 2.3、数组的类型 3、⼀维数组的使用 3.1、数组下标 3.2、数组元素…...
科普栏目 | 水离子水壁炉是如何打造清新环境,提升居家生活?
现代生活中,人们对于居家环境的品质有着越来越高的要求。水离子水壁炉作为一种创新科技,通过其独特的功能,为居家生活带来了一系列的提升。 1.采用先进的技术,减少了对传统能源的依赖,让我们在提高生活品质的同时&…...
python 进程
1创建一个爬虫程序 import requests urls [https://www.cnblogs.com/#p{page}for page in range(1, 501) ]def craw(url):r requests.get(url)print(url, len(r.text))craw(urls[0])2定义单进程和多进程 import blob_spider import threading import timedef single_thread…...
网络编程套接字(1)
网络编程基础 为什么需要网络编程? --丰富的网络资源 用户在浏览器中,打开在线视频网站,如优酷看视频,实质通过网络,获取到网络上的一个视频资源 与本地打开视频文件类似,只是视频文件这个资源的来源是网络. 相比于本地资源来说,网络提供了更为丰富的网络资源: 所谓的网络…...
harmonyOS app 开发环境配置流程
1.安装DevEco Studio,注意nodejs版本,安装过程中有提示,添加hdc到系统环境变量中,用于调用hdc命令 2.开启真机设备的开发人员选项,以及开启5555端口(需要连接usb线) https://developer.harmonyo…...
智慧港口高风险作业AI实时监督技术实操解析
在智慧港口建设中,集装箱堆场、高风险作业的安全管控是核心重点,其中皮带运输、高风险作业(吊装、动火、高处、有限空间等)的安全保障,是港口运维的关键。当前,港口高风险作业普遍面临痛点:人工…...
Python自动化交易:Kalshi预测市场API封装与量化策略实践
1. 项目概述:一个为Kalshi预测市场打造的自动化工具箱如果你对预测市场感兴趣,或者正在寻找一种程序化的方式来管理你在Kalshi平台上的交易活动,那么你可能会对这个名为kalshi-skill的项目产生共鸣。简单来说,这是一个基于Python的…...
在株洲如何根据个人需求选择合适的床垫?
如何根据个人需求选择合适的床垫?在快节奏的现代生活中,一张舒适的床垫对于保证良好的睡眠质量至关重要。然而,面对市场上琳琅满目的床垫产品,如何根据个人需求选择一款合适的床垫呢?本文将从多个维度出发,…...
手把手教你ClickHouse(二、Windows下Docker部署与可视化实战)
1. Windows下Docker环境准备 在开始部署ClickHouse之前,我们需要先确保Windows系统已经正确配置Docker环境。这里我推荐使用Docker Desktop for Windows,它提供了图形化界面和完整的容器管理功能。安装过程可能会遇到几个常见坑点,我把自己实…...
【独家】Lindy内部SLO白皮书泄露:自主工作流SLA达标率低于99.95%的5个致命信号
更多请点击: https://intelliparadigm.com 第一章:Lindy AI Agent自主工作流的核心架构与SLO哲学 Lindy AI Agent 的核心架构基于“自治闭环”(Autonomous Closed Loop)范式,将任务规划、工具调用、状态反馈与自校准能…...
3PEAK思瑞浦 TPA2644-SO2R-S SOP14 运算放大器
特性 供电电压:3V至36V 偏移电压:3mV(最大值)差分输入电压范围至电源轨,可作为比较器工作 带宽:1.5MHz,斜率:0.5V/us输入轨至-Vs,无内部ESD二极管至Vs 低1/f噪声:在10Hz时为50nV/Hz 高PSRR:100kHz时60dB 开机和关机电流期间无明显输出抖动 工…...
《凰标》:写给所有被资本轻视的创作者@凤凰标志
——写给所有不被看见的创作者没有流量即是无用, 没有热度即是不值, 没有商业变现能力即是小众累赘。在资本主导的文娱评价体系里,这条偏见像一道隐形天花板,横亘在每一个草根创作者的头顶。一、被算法淹没的匠心 他们怀揣赤诚热爱…...
处理电商分类难题:我是如何用XGBoost为Otto数据集做多类别预测的
电商商品分类实战:XGBoost在Otto数据集上的高阶应用 当面对海量商品需要精准分类时,传统人工规则往往力不从心。Otto Group Product Classification Challenge正是这样一个典型场景——需要将数十万商品准确划分到93个类别中。本文将分享如何用XGBoost构…...
千万级用户购物车系统的架构设计
我们当时搞的购物车服务,其实还是有点庞大的,看似是一个简单的CRUD,但是当你真正去实现一个购物车的时候,发现压根不是那回事。 当商品类型从单一SKU扩展到普通商品、套餐组合、活动商品,拼单等混合的时候,…...
深入解析epoll ET模式与守护进程
引言在前面的文章中,我们学习了 epoll 的基础用法和 LT 模式。本文将深入讲解两个重要主题:epoll 的 ET 模式:边缘触发模式的编程要点与完整实现守护进程:Linux 后台服务进程的原理与编写规范ET 模式是 epoll 高性能的关键&#x…...
