【铺地毯】题解

NOIP2011铺地毯题解 NOIP2011铺地毯博主第一眼,好坑,10000*10000,时间不说,空间就MLE了,于是我写下了以下代码#include<bits/stdc++.h> using namespace std; int n,i,ans,x1[10010],x2[10010],y3[10010],y2[10010],x,y; int main(){ scanf("%d",&n); for(i=1; 阅读详情

目录

题目

题目描述

输入格式

输出格式

输入输出样例

说明/提示

数据范围

代码

算法分析

解题思路

时间复杂度

AC代码


题目

题目描述

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 11 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。

地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

输入格式

输入共 n+2 行。

第一行,一个整数 n,表示总共有 n 张地毯。

接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b) 以及地毯在 x 轴和 y 轴方向的长度。

第 n+2 行包含两个整数 x 和 y,表示所求的地面的点的坐标 (x,y)。

输出格式

输出共 11 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出 -1。

输入输出样例

输入 1

3
1 0 2 3
0 2 3 3
2 1 3 3
2 2

输出 1

3

输入 2

3
1 0 2 3
0 2 3 3
2 1 3 3
4 5

输出 #2复制

-1

说明/提示

【样例解释 1】

如下图,11 号地毯用实线表示,22 号地毯用虚线表示,33 号用双实线表示,覆盖点 (2,2)(2,2) 的最上面一张地毯是 33 号地毯。

数据范围

对于 30% 的数据,有 n≤2。
对于 50%的数据,0≤a,b,g,k≤100。
对于 100% 的数据,有 0≤n≤104, 0≤a,b,g,k≤105。

代码

算法分析

模拟,枚举。

解题思路

如果用二维数组肯定会爆,所以我们要另想思路。

我们可以把左上角,右上角,左下角的坐标记下来,让后再和查找的点做对比,看它是否在地毯上。

时间复杂度

O(n)

AC代码

#include<bits/stdc++.h>
using namespace std;
int x[100001],y[100001],g[100001],k[100001],n,zx,zy;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>x[i]>>y[i]>>g[i]>>k[i];
    }
    cin>>zx>>zy;
    for(int i=n;i>=1;i--){                                     //从后向前遍历解决哪块地毯在上
        if(x[i]<=zx&&x[i]+g[i]>=zx&&y[i]<=zy&&y[i]+k[i]>=zy){  //判断是否在地毯内 
            cout<<i;
            return 0;
        }
    }
    cout<<"-1";                                                //如果遍历完也没有就输出“-1” 
    return 0;
} 
P1003 [NOIP2011 提高组] 铺地毯 python题解 解题思路: 1、根据题意,所有地毯都是挨着铺的,所以最上面的一条符合题意的一定是从后往前数的第一条符合题意的。 2、符合题意要求x和y同时满足大于等于地毯左边坐标并且小于等于地毯右边坐标。 代码如下: n = int(input()) a = [] for i in range(n): a.append(list(map(int,input().split()))) x,y = list(map(int,input().split())) l = len(a) while l > 0: .. 阅读详情

相关推荐

铺地毯(题解)

原题链接:铺地毯 (nowcoder.com) 知识点:枚举和暴力 题目大意:给你一个地毯的左下角坐标和在x,y轴对应的坐标和需判断的点。判断是否点在地毯覆盖的范围内,在的话输出最上面覆盖的地毯的编号,若没有一张覆盖需判断的点则输出-1. 注:即使在地毯的棱上也算覆盖。 解题思路:首先需要for循环遍历判断是否在范围内,可用似数组的形式进行遍历判断这时可用结构体,再写if判断大概就可以了。 然后可画图判断地毯的左下角坐标是小于等于需判断的点,左下角坐标加上对应的x,y轴的棱长是大于等于需判断的点

m0_63353853的博客 482

NOIP2011提高组题解

NOIP2011提高组题解

Jack_Wangpeixin的博客 594

SSE实时推送实战:从原理到生产环境踩坑全解析

实时推送是构建现代Web应用的核心能力之一。在HTTP协议基础上,SSE(Server-Sent Events)提供了一种轻量级的服务端单向推送方案,对比WebSocket,它无需协议升级,实现简单且天然支持断线重连与事件ID续传。理解事件流格式和HTTP协商机制,是掌握SSE的关键。在实际工程中,连接空闲超时是导致推送中断的常见隐患,通过合理设置心跳机制与代理层参数可有效规避。SSE在行情刷新、日志流、AI问答流式输出等场景中具有广泛应用价值。本文从原理出发,结合服务端与浏览器端实践,深入剖析生产环境中的

weixin_34187862的博客 223

铺地毯题解

这里附上题目链接:铺地毯。 ~~手动分割~~ 题目 ~~手动分割~~ 思路解析 1.倒搜 越在后面放入的地毯就越有可能覆盖在所求格子的最上面,所以直接倒搜: 若发现所求点在当前地毯的覆盖范围内,则说明当前地毯一定是覆盖在所求点的最上面,输出编号,结束程序; 若发现所求点没有被地毯覆盖,输出-1. AC代码: #include <stdio.h> #...

ZhuhaoNan134的博客 1086

地毯填补问题 C++ NOIP复赛模拟题

地毯填补问题 含程序 题目 【问题描述】 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地方盖上,美丽漂亮聪慧的公主就是他的人了。公主这一个方格不能用地毯盖住,毯子的形状有所规定,只能有四种选择(如图4-l): (1) (2) (3) (4) 并且每一方格只能用一层地毯,迷宫的大小为(2k)2的方形。当然,也不能让公主无限制的在那儿等,对吧?由于你使用的是计算机,所以实现时间为1s。 【输入】 输入文件共2行。 第一行:k,即给定被填补迷宫的大小为2k(0<k≤10); 第二行:x y,即给出公主所在方格的坐标(x为行坐标,y为列坐标),x和y之间有一个空格隔开。 【输出】 将迷宫填补完整的方案:每一补(行)为x y c (x,y为毯子拐角的行坐标和列坐标,c为使用毯子的形状,具体见上面的图1,毯子形状分别用1、2、3、4表示,x、y、c之间用一个空格隔开)。

RaiDrive+AList保姆级教程:5分钟搞定OneDrive/百度网盘挂载到本地(附WebDAV配置)

本文提供RaiDrive+AList的保姆级教程,5分钟内实现将OneDrive/百度网盘挂载到本地的详细步骤,包括WebDAV配置。通过AList统一转换云存储协议,RaiDrive虚拟磁盘挂载,显著提升多网盘管理效率,适合需要跨平台操作文件的用户。

weixin_28331555的博客 456

luoguP1003 铺地毯 题解(NOIP2011)

&#13; luoguP1003 铺地毯  题目&#13; &#13; #include&lt;cstdio&gt;&#13; #include&lt;cstdlib&gt;&#13; #include&lt;cstring&gt;&#13; #include&lt;iostream&gt;&#13; #include&lt;algorithm&gt;

eternal风度 225

ROS2实战:从零部署Cartographer激光SLAM系统

本文详细介绍了在ROS2 Humble环境下,从零开始部署Cartographer激光SLAM系统的完整实战流程。内容涵盖环境准备、Cartographer安装(APT与源码编译两种方式对比)、工作空间与功能包创建、核心启动文件与Lua配置文件编写、系统构建与可视化启动,以及地图保存与实战调参技巧,帮助开发者快速构建稳定可靠的机器人SLAM应用。

weixin_29213655的博客 248

洛谷铺地毯编程题解

题目描述 : 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。 地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。 输入格式 输入共...

clamming_rapper的博客 1350

第四章 汇川技术InoProShop入门之串口自由协议解读

摘要: 串口自由协议是工业自动化中针对特定需求设计的自定义通信协议,具有高度灵活性和针对性,适用于小型设备、实时控制等场景。其核心包括自定义帧结构(起始符、地址码、数据区、校验位等)和通信规则(波特率、交互机制)。相比标准协议,自由协议效率更高但兼容性弱,设计时需注重可靠性、效率和可扩展性,适用于定制化或高实时性需求,如传感器数据采集或老旧设备改造。典型应用需平衡精简帧结构与抗干扰能力,同时预留扩展空间。

zyfucking2010的博客 2216

2025年最新Cesium学习示例:Cesium-Examples

2025年最新Cesium学习示例:Cesium-Examples

2403_88103571的博客 1011

洛谷B3697 [语言月赛202301] 铺地毯 题解

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域铺上一些地毯。

ZLFY19884339932的博客 1201

如何使用Github创建一个完全免费的个人网站

摘要: 本文详细介绍如何利用Github Pages免费搭建个人静态网站,适合零基础用户。首先需注册Github账号并创建特定命名的仓库(格式:用户名.github.io),然后通过网页或命令行创建index.html文件作为网站首页。完成后可通过"仓库设置- Pages"获取网站链接。文章还包含GitHub Desktop的安装使用、代码提交指南及常见问题自检方法,并说明即使Github被墙也可迁移至国内平台(如码云)。整个过程无需编程基础,仅需15分钟即可完成基础网站搭建。

安德洛夫 1514

【题解·洛谷】P1003 [NOIP2011 提高组] 铺地毯

洛谷P1003 题解

qq_56897740的博客 1574

【保姆级教程】YOLOv8_OBB旋转目标检测:训练自己的数据集

【保姆级教程】YOLOv8_OBB旋转目标检测:训练自己的数据集

m0_51579041的博客 1万+

无人船 | 基于ROS的轻量级多无人艇自主导航仿真框架

无人水面艇USV是海上自主无人系统的关键组成部分,在民用、军用领域应用广泛,例如海上救援、水质测量、扫雷反潜等,因此对USV导航算法的研究具有重要意义。为了便于进行USV相关算法的验证与部署,本文介绍的这套基于ROS的多无人艇的自主导航仿真平台,轻量化地实现了建图、规划、控制等多种功能,同时自研框架保证了功能的高度可拓展和可定制

FRIGIDWINTER的博客 8002

题解 P1003 【铺地毯】

大致翻了一下,都是开二维数组暴力。我很好奇各位大佬难道不会MLE吗,反正我开10000的二维数组会MLE.. 于是我们应该换个思路。a,b,x,y的意思就是行a~a+x,列b~b+y的地方铺上地毯。于是我们只需要存储输入的a,b,x,y然后倒着找并判断是否在范围内,就行了。 话不多说:看代码 #include&lt;bits/stdc++.h&gt; using name...

xxyyztg的博客 320

45、概率与模糊性:粗糙事件与模糊事件概率的探索

本文探讨了概率理论与模糊性理论在处理现实世界不确定性中的应用,重点分析了模糊事件和粗糙事件的概率定义、性质及其条件概率。同时,介绍了近似贝叶斯网络分类器在信息系统中的应用,以及如何通过概率决策约简提高分类效率。这些方法为处理不确定信息提供了灵活的工具,并在决策和数据分析中具有重要价值。

ik67890123的博客 135

洛谷P1003 [NOIP 2011 提高组] 铺地毯 python题解

现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b) 以及地毯在 x 轴和 y 轴方向的长度。检查,如果点在该地毯的覆盖范围内,则直接输出该地毯的编号。如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点 (2,2) 的最上面一张地毯是 3 号地毯。输入共 n+2 行。

2201_75920261的博客 419

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

洛谷题解 - P1003 [NOIP2011 提高组] 铺地毯

地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。较为困难的题目,我们应该做一些优化,操作过程过于繁琐,不予解释,请自行理解。行,一个整数,表示所求的地毯的编号;,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标。的地毯的信息,包含四个整数。,表示所求的地面的点的坐标。

Python_enjoy 是一个大帅哥! 1321

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【牛客】铺地毯题解

原题地址 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。 输入描述: 第一行,一个整数n,表示总共有n张地毯。 接下来的n行中,第i+1行表示编号i的地毯的信息,包含四个正整数a,b,g,k,

Ego12138的博客 6736

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: C++趣味编程【时钟2代】
Hound1101001
博客等级 码龄3年 10粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值