[NOIP2011 提高组] 铺地毯

news2024/11/16 2:44:20

[NOIP2011 提高组] 铺地毯

题目描述

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

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

输入格式

输入共 n + 2 n + 2 n+2 行。

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

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

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

输出格式

输出共 1 1 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 1 1 号地毯用实线表示, 2 2 2 号地毯用虚线表示, 3 3 3 号用双实线表示,覆盖点 ( 2 , 2 ) (2,2) (2,2) 的最上面一张地毯是 3 3 3 号地毯。

【数据范围】

对于 30 % 30\% 30% 的数据,有 n ≤ 2 n \le 2 n2
对于 50 % 50\% 50% 的数据, 0 ≤ a , b , g , k ≤ 100 0 \le a, b, g, k \le 100 0a,b,g,k100
对于 100 % 100\% 100% 的数据,有 0 ≤ n ≤ 1 0 4 0 \le n \le 10^4 0n104, 0 ≤ a , b , g , k ≤ 10 5 0 \le a, b, g, k \le {10}^5 0a,b,g,k105

noip2011 提高组 day1 第 1 1 1 题。

分析

怎么判断(x,y)是否在一个矩形中,不难想到:
a ≤ x ≤ a + g   & &   b ≤ y ≤ b + k a \le x\le a+g\ \&\&\ b\le y\le b+k axa+g && byb+k

代码

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
#define int long long
const int M=1e5;
struct carpet{
	int a,b,g,k;
}a[M];
int n,ans=-1;
int x,y;
int read(int &x){
	scanf("%lld",&x);return x;
}
void print(int x,const char* mw){
	printf("%lld",x);printf(mw);
}
signed main(){
// 	freopen("carpet.in","r",stdin);
// 	freopen("carpet.out","w",stdout);
	read(n);
	for(int i=1;i<=n;i++){
		carpet &q=a[i];
		read(q.a);read(q.b);read(q.g);read(q.k);
	}
	read(x);read(y);
	for(int i=1;i<=n;i++){
		carpet m=a[i];
		int q=m.a+m.g,p=m.b+m.k;
		if(m.a<=x and x<=q and m.b<=y and y<=p) ans=i;
	}
	print(ans,"\n");
// 	fclose(stdin);fclose(stdout);
	return 0;
}

初始ans=-1,表示没有覆盖,后每覆盖一个就更新ans,换为地毯编号。

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

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

相关文章

【LeetCode热题100】--142.环形链表II

142.环形链表II 使用哈希表&#xff1a; 遍历链表中的每个节点&#xff0c;并将它记录下来&#xff0c;一旦遇到了此前遍历过的节点&#xff0c;就可以判定链表中存在环 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* …

Unity Urp无线延申的网格效果

无线延申的网格 该项目必须是再Urp项目 shader代码实现 Shader "Unlit/infTutorial1" {Properties{_Alpha ("Alpha", Range(0, 0.5)) 0.5}SubShader{Tags{"RenderPipeline""UniversalRenderPipeline""RenderType""…

操作系统监控工具

在当今复杂、动态的网络环境中&#xff0c;服务器管理员根据其要求在各种操作系统上工作&#xff0c;操作系统是管理硬件和软件资源的基本系统软件&#xff0c;它是硬件与您运行的不同应用程序之间的接口&#xff0c;保持操作系统更新至关重要&#xff0c;最重要的是&#xff0…

SDI-12协议与STM32 进行uart通信

场景是用stm32与一款温湿度传感器通信&#xff0c;不过是基于SDI-12协议&#xff0c;SDI-12时序和UART类似&#xff0c;故采用UART传输&#xff0c;原理图如下 其中DIR_OUT_SDI是一个IO引脚&#xff0c;控制UART_TX_SDI是否使能&#xff0c;U10是三态门IC&#xff0c;即拉低DIR…

测试网页调用本地可执行程序(续1:解析参数中的中文编码)

学习测试网页调用本地可执行程序还遗留一个问题&#xff0c;即网页中调用带中文参数的命令时&#xff0c;本地可执行程序接收到的参数字符串里的中文都转换成了编码模式&#xff0c;看起来如下所示&#xff1a; <a href TestPageCall:-a你好>启动测试程序</a><…

destoon根据查询标题小于5个字符的数据进行删除

最近客户有个需求&#xff0c;就是他采集的时候&#xff0c;标题有些小于5字符的短标题的垃圾数据&#xff0c;进行清空处理&#xff0c;让我进行批量删除。废话不多说&#xff0c;接着干。 首先在dt根目录新建delmysql.php文件&#xff0c;代码如下&#xff1a; <?php r…

机器学习——KNN算法流程详解(以iris为例)

目 录 前情说明 问题陈述 数据说明 KNN算法流程概述 代码实现 前情说明 本书基于《特征工程入门与入门与实践》庄家盛 译版P53也K最近邻&#xff08;KNN&#xff09;算法进行讲解 问题陈述 Iris 鸢尾花数据集内包含 3 类分别为山鸢尾&#xff08;Iris-setosa&#xff09…

99%的亚马逊运营都不知道爆单小技巧——社媒促销代码

社交媒体促销代码是促进产品在亚马逊上销售的最有效推广方式之一&#xff0c;有了这个营销工具&#xff0c;卖家可以在社交媒体上宣传您的产品&#xff0c;并通过社交媒体和网红营销内容将促销代码分享给买家&#xff0c;进行更具针对性的促销。 一、什么是社交媒体促销代码 社…

BoxUVMap处理参考

该Shader的目标是让物体的位置作为UV&#xff0c;在物体自身UV没有正确展开的情况下保证物体各个面能够避免贴图拉伸&#xff0c;比较适合Box型的物体。本来Position节点和Normal Vector节点应该选择Object选项&#xff0c;但是当时选择了World选项&#xff0c;主要是应对项目的…

在亚马逊云科技Amazon SageMaker上部署构建聊天机器人的开源大语言模型

开源大型语言模型&#xff08;LLM&#xff09;已经变得流行起来&#xff0c;研究人员、开发人员和组织都可以使用这些模型来促进创新和实验。这促进了开源社区开展合作&#xff0c;从而为LLM的开发和改进做出贡献。开源LLM提供了模型架构、训练过程和训练数据的透明度&#xff…

超大表格组件滚动渲染优化

引用自 摸鱼wiki 背景 业务中需要渲染一个最多有100列的表格&#xff0c;由于表格使用原生dom实现&#xff0c;因此会出现同屏有近1000个单元格同时绘制&#xff0c;在快速滑动时页面会产生卡顿&#xff0c;影响用户体验。 方案 如下图所示&#xff0c;由于用户显示屏区域有…

LeetCode算法二叉树—222. 完全二叉树的节点个数

目录 222. 完全二叉树的节点个数 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; 运行结果&#xff1a; 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能…

opencv开发环境配置

一、下载安装 打开opencv官方网站&#xff0c;opencv管网地址&#xff0c;选择下载的版本 双击安装包&#xff0c;选择安装路径&#xff0c;进行安装 安装完毕后&#xff0c;打开 注意&#xff1a;环境变量配置的bin路径不是build/bin&#xff0c;而是build/x64/vc16/bin …

chrome扩展程序开发请求接口报错

解决HTTPS站点请求HTTP接口服务后报错&#xff1a;the content must be served over HTTPS Mixed Content: The page at <URL> was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint <URL>. This content should also be served over HTTPS…

网络知识:内网、外网、宽带、带宽、流量、网速之间的联系?

相信很多人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系&#xff0c;今天小编给大家介绍一下&#xff0c;希望对大家能有所帮助&#xff01; 一.带宽与宽带的区别是什么&#xff1f; 带宽是量词&#xff0c;指的是网速的大小&#xff0c;比如1Mbps的意思是一兆…

数据库系统课设——基于python+pyqt5+mysql的酒店管理系统(可直接运行)--GUI编程(2)

几个月之前写的一个项目&#xff0c;通过这个项目&#xff0c;你能学到关于数据库的触发器知识&#xff0c;python的基本语法&#xff0c;python一些第三方库的使用&#xff0c;包括python如何将前后端连接起来&#xff08;界面和数据&#xff09;&#xff0c;还有界面的设计等…

Guava限流器原理浅析

文章目录 基本知识限流器的类图使用示例 原理解析限流整体流程问题驱动1、限流器创建的时候会初始化令牌吗&#xff1f;2、令牌是如何放到桶里的&#xff1f;3、如果要获取的令牌数大于桶里的令牌数会怎么样4、令牌数量的更新会有并发问题吗 总结 实际工作中难免有限流的场景。…

振弦采集仪结合无线中继扩展应用岩土工程监测的解决方案

振弦采集仪结合无线中继扩展应用岩土工程监测的解决方案 岩土工程监测是现代工程建设不可或缺的一部分&#xff0c;其目的是确保工程安全和稳定。然而&#xff0c;在进行监测时常常面临许多挑战。传统的岩土工程监测方法需要大量的人力、物力和时间&#xff0c;而且往往难以采…

顽固污渍一键去除,还有紫外线除菌功能,希亦超声波清洗机体验

日常生活中&#xff0c; 眼镜、牙刷等小物件的清洗该怎么清洗呢&#xff1f;如果使用肥皂水或者专业清洁剂来处理&#xff0c;还需要使用一些小工具来帮助清洁&#xff0c;比如清洁布、棉签等&#xff0c;不仅会很麻烦&#xff0c;而且需要频繁擦拭&#xff0c;镜片等物品光滑的…

601-体育馆的人流量

文章目录 601-体育馆的人流量1. 题目2. 思路3. 解决4. 运行结果 601-体育馆的人流量 1. 题目 2. 思路 思路&#xff1a;查询Stadium表中人流量超过100的记录&#xff0c;将查询结果与自身的临时表连接&#xff0c;再使用where获得满足条件的记录 查询Stadium表中人流量超过10…