P1003 [NOIP2011 提高组] 铺地毯(Arknights!)

news2024/11/15 20:04:39

[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 题。

day1送分题

直接出 O ( n ) O(n) On 做法,算出每个毯子的范围,若当前毯子覆盖了要求的点,就更新答案

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string.h>
using namespace std;
int n,ans=-1;
int ax,ay;
struct node{
	int a,b,gx,gy;
}a[39999];
int main(){
//	freopen("carpet.in","r",stdin);
//	freopen("carpet.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int tmpx,tmpy;
		scanf("%d%d%d%d",&a[i].a,&a[i].b,&tmpx,&tmpy);
		a[i].gx=a[i].a+tmpx;
		a[i].gy=a[i].b+tmpy;
	}
	scanf("%d%d",&ax,&ay);
	for(int i=1;i<=n;i++){
		if(ax>=a[i].a&&ax<=a[i].gx&&ay>=a[i].b&&ay<=a[i].gy){
			ans=i;
		}
	}
	if(ans==-1){
		//cout<<ans<<endl;
		printf("%d",ans);
	}
	else //cout<<ans+1<<endl;
		printf("%d",ans);
//	fclose(stdin);
//	fclose(stdout);
	return 0;
}

T H E    E N D THE \space \space END THE  END

封面

请添加图片描述

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

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

相关文章

「私信分析」上线,帮助企业进行私信管理,提升营销线索转化

企业在新媒体矩阵建设过程中会出现各种各样的业务难题&#xff0c;为了更好地服务客户&#xff0c;矩阵通将秉持“为客户带来实际业务价值”的原则不断地优化产品功能。 矩阵通是新榜旗下的新媒体数字化内容资产管理SaaS&#xff0c;可以帮助企业解决跨平台账号运营难题&#x…

django_auth_ldap登录权限

用户登录权限分为三种&#xff0c;通过is_active,is_staff,is_superuser标识。可以对组赋予对应的权限。 设定active组、staff组和superuser组分别对应三种权限。在不同组权限下的登录情况如下&#xff1a; 当用户不属于任何一组&#xff1a; 登录失败&#xff0c;提示如图&a…

k8s如何快速部署tomcat

环境 三台云服务器 步骤 部署tomcat kubectl create deployment tomcat6 --imagetomcat:6.0.53-jre8kubectl get pods -o wide 可以获取到 tomcat 信息暴露端口 kubectl expose deployment tomcat6 --port80 --target-port8080 --typeNodePort查看service端口 kubectl ge…

[ESP32 IDF+Vscode]OLED多级菜单显示(摇杆控制)

ADC介绍 ESP32集成了两个 12位SAR(逐次逼近寄存器)adc &#xff0c;共支持18个测量通道。 1、两个 ADC 通道简介&#xff1a; ADC1&#xff1a; 支持 8 个通道&#xff0c;包括&#xff1a;GPIO32 - GPIO39&#xff08;并非按顺序&#xff09; ADC2&#xff1a; 支持 10 …

DataBinding双向绑定简介

一、简介 在Vue中使用的是MVVM架构。通过ViewModel可以实现M层和V层数据的双向绑定。Model层的数据发生变化后&#xff0c;会自动更新View层UI。UI层数据发生变化&#xff08;用户输入&#xff09;&#xff0c;可以驱动Model层的数据发生变化&#xff0c;借助于Vue框架中的View…

数学建模国赛/美赛常见赛题类型及建模方案(纯干货)(2)

目录 一&#xff0c;评价类问题 1&#xff0c;建模步骤如下图所示&#xff1a; 2&#xff0c;主客观评价问题的区别 3&#xff0c;如何选择合适的评价方法 二&#xff0c;预测类赛题 1&#xff0c;预测类赛题的基本解题步骤 2&#xff0c;预测类问题的区别 3&#xff0c;…

深兰科技荣获“2023年中国人工智能行业十大创新力企业奖”

近日&#xff0c;以“i时代智创未来”为主题的“CIAI 2023第八届中国国际人工智能大会“在上海普陀区隆重召开。 大会期间&#xff0c;举行了”2023年中国人工智能行业创新力企业评选“的颁奖典礼&#xff0c;深兰科技(上海)有限公司成功荣获“2023年中国人工智能行业十大创新力…

HTTP初识,fiddler的使用,URL各部分介绍,QueryString

目录 一、什么是HTTP 二、抓包工具 三、请求的首行 URL 四、URL的各部分详细介绍 一、什么是HTTP 现在网页上&#xff0c;我们常见的是https,但是在二十年前是以http为主&#xff0c;这个协议也叫超文本传输协议&#xff0c;文本->字符串&#xff0c;“超文本”->图片…

Nginx代理victoriametrics集群配置

1,首先安装nginx yum install -y nginx 2,生成密钥文件 安装htpasswd工具 yum install -y httpd-tools 生成密钥文件,prometheus为用户名 htpasswd -c /etc/nginx/conf.d/passwd prometheus 3,修改nginx配置文件nginx.conf,增加如下内容 upstream vmselect {server 10.…

PyTorch - Dataset 迭代数据接口 __getitem__ 异常处理

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/133378772 在模型训练的过程中&#xff0c;加载数据部分&#xff0c;极其容易出现异常&#xff0c;以及不可控的因素&#xff0c;需要通过异常捕获…

RabbitMQ(15672) 消息中间件 NOTE

目录 1、初识 RabbitMQ 消息队列 1.1 MQ 四大核心概念 1.2 消息的发送&#xff08;无交换机态&#xff09; 1.3 关于消息自动重新入队 1.3.1 消息的常见应答方法&#xff08;R&#xff09; 1.4 关于 RabbitMQ 的持久化、不公平分发以及预取值 2、RabbitMQ 消息的发布确认…

Timer/计时器发布者与订阅者, Subscribar/文本框订阅模式 的使用

1. Timer 计时器的操作 1.1 实现 /// 计时器 发布者与订阅者 struct TimerBootcamp: View {// 计时器 发布者 timer1/timer3/timer5 1.0 , timer2 2.0 , timer4 0.5let timer Timer.publish(every: 1, on: .main, in: .common).autoconnect()// ---1---// 计算性属性 当前…

线性代数(七) 矩阵分析

前言 从性线变换我们得出&#xff0c;矩阵和函数是密不可分的。如何用函数的思维来分析矩阵。 矩阵的序列 通过这个定义我们就定义了矩阵序列的收敛性。 研究矩阵序列收敛性的常用方法&#xff0c;是用《常见向量范数和矩阵范数》来研究矩阵序列的极限。 长度是范数的一个特…

C语言实现---通讯录

通讯录 前言1.初始化通讯录2.SHOW展示通讯录3.ADD添加联系人的函数4.DEL删除联系人的函数5.SEARCH查找联系人的函数6.MODIFY修改联系人的函数7.销毁通讯录8.整体代码展示1.头文件"contact.h"2.源文件"contact.c"3.测试文件"test.c" 前言 那么好…

解决键盘长按才有反应

问题分析&#xff1a; 排除键盘自身没有问题&#xff0c;那就应该是电脑设置的问题&#xff0c;目前我遇到的不小心长按shift键设置了【筛选键】 解决方式&#xff1a; 打开设置搜索筛选建&#xff0c;关闭&#xff0c;粘带键也会出现类似问题。

【go语言】结构体

结构体 结构体定义 type name struct{value1 type1value2 type2...... }组成结构体的数据称为字段&#xff0c;每一个字段有一个类型和一个名字&#xff0c;每一个字段的名字必须唯一&#xff0c;字段的类型任意。 创建结构体 type myStruct struct{i1 intf1 float32str st…

【软件测试】开发/测试模型

开发/测试模型 瀑布模型 设计&#xff1a;技术文档(设计那些接口&#xff0c;库表&#xff0c;mq&#xff0c;定时任务)&#xff0c;UI视觉稿 特点&#xff1a;线性的结构。 优点&#xff1a;每个阶段做什么&#xff0c;产出什么非常清晰 缺点&#xff1a;测试人员介入太晚…

了解CISP,看这篇文章就够了,附上CISP证书题库资料

前言 【点击此处领取CISP题库资料和网络安全学习资】 什么是CISP&#xff1f; CISP是中国信息安全测评中心依据中编办赋予的职能&#xff0c;建立和发展的一整套完整的信息安全保障人才培训体系&#xff0c;从2002年开始启动。 CISP (CertifiedInformation Security Profes…

分享55个C源码源代码总有一个是你想要的

分享55个C源码源代码总有一个是你想要的 链接&#xff1a;https://pan.baidu.com/s/1_zbaunqvmYRhCiX7hbiqmg?pwd8888 提取码&#xff1a;8888 1. 项目名称 apachesubversion版本控制系统 v1.10.3 Ceph分布式文件系统 v17.2.5 clip命令行插图处理器 v0.8 curve分布式存…

在前端设计中,子元素的基线和父元素的基线分别是什么意思?并利用Bootstrap的类align-items-baseline实现子元素在其父容器内基线对齐。

子元素的基线和父元素的基线是用于文本对齐的重要概念。让我解释一下它们分别指的是什么&#xff1a; 子元素的基线&#xff08;Baseline of Child Elements&#xff09;&#xff1a; 子元素的基线是指子元素内文本的底部边缘&#xff0c;特别是字母的底部边缘。在包含文本的元…