# [NOIP2011 提高组] 铺地毯
传送锚点:https://www.luogu.com.cn/problem/P1003
题目描述
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 \(n\) 张地毯,编号从 \(1\) 到 \(n\)。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
输入格式
输入共 \(n + 2\) 行。
第一行,一个整数 \(n\),表示总共有 \(n\) 张地毯。
接下来的 \(n\) 行中,第 \(i+1\) 行表示编号 \(i\) 的地毯的信息,包含四个整数 \(a ,b ,g ,k\),每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 \((a, b)\) 以及地毯在 \(x\) 轴和 \(y\) 轴方向的长度。
第 \(n + 2\) 行包含两个整数 \(x\) 和 \(y\),表示所求的地面的点的坐标 \((x, y)\)。
输出格式
输出共 \(1\) 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出 -1。
样例 #1
样例输入 #1
3
1 0 2 3
0 2 3 3
2 1 3 3
2 2
样例输出 #1
3
样例 #2
样例输入 #2
3
1 0 2 3
0 2 3 3
2 1 3 3
4 5
样例输出 #2
-1
提示
【样例解释 1】
如下图,\(1\) 号地毯用实线表示,\(2\) 号地毯用虚线表示,\(3\) 号用双实线表示,覆盖点 \((2,2)\) 的最上面一张地毯是 \(3\) 号地毯。

【数据范围】
对于 \(30\%\) 的数据,有 \(n \le 2\)。
对于 \(50\%\) 的数据,\(0 \le a, b, g, k \le 100\)。
对于 \(100\%\) 的数据,有 \(0 \le n \le 10^4\), \(0 \le a, b, g, k \le {10}^5\)。
noip2011 提高组 day1 第 \(1\) 题。
思路:
利用结构体存储地毯左下角和右上角在x、y面坐标,然后我们在倒序遍历,如果查找的点在当前所遍历地毯内,直接输出编号,如果遍历完仍没有,则输出-1
code
#include <iostream>
using namespace std;
const int N = 1e4 + 10;
struct Carpet{
int a,b,c,d;//c、d分别为毛毯右上角横、纵坐标
} carpet[N];
int main() {
int n;
cin >> n;
for(int i = 1; i <= n; i++){
int a,b,len_x,len_y;
cin >> a >> b >> len_x >> len_y;
carpet[i].a = a;
carpet[i].b = b;
carpet[i].c = a + len_x;
carpet[i].d = b + len_y;
}
int x,y;
cin >> x >> y;
bool flag = false;//看是否被覆盖
for(int i = n; i >= 1; i--){
if(x >= carpet[i].a && x <= carpet[i].c){
if(y >= carpet[i].b && y <= carpet[i].d){
cout << i << endl;
return 0;
}
}
}
if(!flag){
cout << "-1" << endl;
}
return 0;
}
# [NOIP2011 提高组] 铺地毯的更多相关文章
- luogu1003铺地毯[noip2011 提高组 Day1 T1]
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- [NOIP2011] 提高组 洛谷P1003 铺地毯
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- 洛谷-铺地毯-NOIP2011提高组复赛
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- 洛谷P1003 铺地毯 noip2011提高组day1T1
洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...
- Noip2011 提高组 Day1 T1 铺地毯 + Day2 T1 计算系数
Day1 T1 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小 ...
- 洛谷P1003 [NOIP2011提高组Day1T1]铺地毯
P1003 铺地毯 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号 ...
- [NOIP2011] 提高组 洛谷P1312 Mayan游戏
题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...
- [NOIP2011] 提高组 洛谷P1315 观光公交
题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2 ...
- NOIP2011(提高组)DAY2---观光公交(vijosP1741)
描述 风景迷人的小城Y市,拥有n个美丽的景点.由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0分钟出现在1号景点,随后依次前往2.3.4……n号景 ...
- 刷题总结——mayan游戏(NOIP2011提高组day2T3)
题目: 题目背景 NOIP2011提高组 DAY1 试题. 题目描述 Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个 7 行 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...
随机推荐
- 华为会员开放服务(Membership Kit),助力移动应用快速建设会员生态
会员开放服务(Membership Kit)是华为面向开发者提供的券码开放能力,开发者可以通过Membership Kit开展灵活多样的营销活动,助力开发者建设会员生态,实现用户运营与增量创收的目标. ...
- 动态库 DLL 封装一:dll分类
动态库分为三种: Non-MFC-DLL(非MFC动态库): 非MFC动态库不采用MFC类库结构,其带出函数为标准C接口,能被非MFC或MFC编写的应用程序所调用 MFC Regular DLL( ...
- C#使用PaddleOCR进行图片文字识别✨
PaddlePaddle介绍 PaddlePaddle(飞桨)是百度开发的深度学习平台,旨在为开发者提供全面.灵活的工具集,用于构建.训练和部署各种深度学习模型.它具有开放源代码.高度灵活性.可扩展性 ...
- 在 Visual Studio 2022 中创建一个类似于旧版本 Visual Studio 中的 Win32 Console Application 项目
在 Visual Studio 2022 中创建一个项目,其自动生成的源文件内容包含 #include "stdafx.h" 和使用_tmain 作为入口点,意味着你需要创建一个基 ...
- sql 语句系列(更新系列)[八百章之第六章]
使用另一个表更新记录 有时候我们的数据不会立即去更新,而是存在另外一张表中等待更新,这是在日常开发中常见的操作. update e set e.SAL=ns.SAL+e.SAL, e.COMM=ns. ...
- Linux systemd 定时任务
哈喽大家好,我是咸鱼. 说到 Linux 定时任务,大家用得最多的就是 crond 服务,但其实 systemd 也有类似的功能.我们不但可以通过 systemd 来管理服务,还能设置定时任务,那就是 ...
- wordcloud 词云Python
from wordcloud import WordCloud import matplotlib.pyplot as plt def get_word_cloud(words_list): #首先实 ...
- 第壹課-Install:Mirth Connect在Win10下的安装步骤
1.安装JDK,推荐安装JDK8 64位,版本jdk-8u201-windows-x64.exe. 安装JDK后,同时必须配置win10的系统环境变量[示例如下]: JAVA_HOME : F:\Ja ...
- Apache Flink 在京东的实践与优化
简介: Flink 助力京东实时计算平台朝着批流一体的方向演进. 本文整理自京东高级技术专家付海涛在 Flink Forward Asia 2020 分享的议题<Apache Flink 在京 ...
- [FAQ] panic: listen tcp :xxxx: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
在 Go 中运行服务之前的绑定端口这一步,如果端口号被占用了,那么会提示它只能使用一次. 换个端口号或者检查端口号的占用程序. Link:https://www.cnblogs.com/farwish ...