每日一题 第一期 洛谷 铺地毯

[NOIP2011 提高组] 铺地毯

https://www.luogu.com.cn/problem/P1003

题目描述

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 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 题。

由数据可以知道不能直接开二维数组,因此我们可以设置四个数组分别记录一下位置以及长度,然后我们开始遍历看所要求的点是否被覆盖,从前往后进行遍历,最后要求的即为最上面的毯子。

代码如下:

#include<map>
#include<set>
#include<stack>
#include<cmath>
#include<queue>
#include<string>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<numeric>
#define endl '\n'
using namespace std;typedef long long ll;
typedef pair<int, int>PII;
const int N=3e5+10;
const int MOD=998244353;
const int INF=0X3F3F3F3F;
const int dx[]={-1,1,0,0,-1,-1,+1,+1};
const int dy[]={0,0,-1,1,-1,+1,-1,+1};
const int M = 1e4 + 10;
int n;
int a[N], b[N], g[N],k[N];
int main()
{cin >> n;for(int i = 1; i <= n; i ++){cin >> a[i] >> b[i] >> g[i] >> k[i];}int x, y;cin >> x >> y;int cnt = 0;for(int i = 1; i <= n; i ++){if((a[i] <= x && a[i] + g[i] >= x) && (b[i] <= y && b[i] + k[i] >= y))cnt = i;}if(!cnt) cout << -1 << endl;else cout << cnt << endl;return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这么可爱的小坤,那个电子爱好者能顶得住呀?

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、鸡你太美简介二、程序实现效果图三、如何实现总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 仅供娱乐、仅供娱乐、仅供娱乐&…

a-table:实现跨域多选功能——基础积累

table组件跨页多选功能&#xff1a; html部分的代码&#xff1a; <a-tablesize"small"style"margin-top: 10px"rowKey"id":columns"columns":dataSource"dataSource":pagination"pagination":loading"l…

能发顶会!GNN结合LLMs的三大创新思路!新SOTA准确率提升10倍

LLMs在处理NLP任务方面表现出色&#xff0c;而GNNs在挖掘和分析复杂关系数据&#xff08;图数据&#xff09;方面展现出其卓越的能力。这种趋势催生了将这两种技术整合的研究兴趣&#xff0c;为解决更多领域的实际问题。GNN结合LLMs也逐渐成为了研究的热点。 GNNLLMs可以发挥二…

【SQL Server安装绊脚石】排除报错的终极指南

&#x1f6a9;本文介绍 ​ 在迈向数据库管理系统的世界时&#xff0c;SQL server的安装过程往往是我们踌躇的绊脚石。一不小心&#xff0c;就可能陷入各种报错的困境中。然而&#xff0c;正是这些挑战&#xff0c;让我们更加升入地了解SQL server地安装与配置&#xff0c;也让…

【Redis学习_介绍与安装】

Redis学习_介绍与安装 Redis学习_介绍与安装Redis介绍Redis安装命令介绍问题集 Redis学习_介绍与安装 Redis介绍 Redis 是一种开源的高性能、非关系型、基于键值对的数据存储系统&#xff0c;也被称为数据结构服务器。Redis 数据库支持多种数据结构&#xff0c;如字符串&…

展会邀约 | 加速科技将携重磅产品亮相SEMICON China 2024

SEMICON China 2024将于3月20日-3月22日在上海新国际博览中心隆重举行。展会期间&#xff0c;加速科技将携重磅产品高性能数模混合信号测试机ST2500EX、LCD Driver测试机Flex10K-L、高密度数模混合信号测试系统ST2500E、高性能数模混合信号测试系统ST2500A亮相此次行业盛会&…

打破信息获取的界限:灵雀云推出自主研发智能文档机器人KnowledGenie

自LLM&#xff08;Large Language Model&#xff09;技术的迅速崭露头角以来&#xff0c;整个AI领域已经发生了翻天覆地的变化。LLM技术的不断进步&#xff0c;特别是以ChatGPT为代表的技术&#xff0c;为人工智能领域带来了前所未有的发展机遇。这种技术的出现&#xff0c;使得…

掌握这些技巧,打造高效的考试培训系统

掌握一些有效的技巧&#xff0c;可以帮助我们打造一个高效的考试培训系统。考试培训对于学生来说非常重要&#xff0c;它可以帮助他们提高分数&#xff0c;并增强他们的学习能力。 一个高效的考试培训系统应该提供多种学习方式。每个学生的学习风格都不同&#xff0c;因此应该提…

工作中常用的git命令

git 分布式版本控制系统。 使用远程仓库时候会有多个协议可以选择&#xff0c;使用https不仅仅速度慢&#xff0c;而且每次push都要输入口令。 HEAD 当前版本的指针&#xff0c;当切换本地版本的时候会快速指向指定版本文件 master git为我们创建主分支 origin 远程仓库的名…

位图、布隆过滤器

普通的哈希表增删查改的效率的确达到了令人满意的O&#xff08;1&#xff09;&#xff0c;但是本质还是以空间换时间来实现的。并且哈希表中是直接存储数据的&#xff0c;应对一些海量数据处理的问题可能就会造成空间不足的问题。 加入现有40亿个无符号整形数字&#xff0c;设…

理论学习 BatchNorm2d

import torch import torch.nn as nn# With Learnable Parameters m nn.BatchNorm2d(100) # Without Learnable Parameters m nn.BatchNorm2d(100, affineFalse) input torch.randn(20, 100, 35, 45) output m(input)print(output) print(output.shape)这段代码展示了如何使…

深度学习--离线数据增强

最近做项目遇见数据集背景非常单一&#xff0c;为了增加模型的返回能里&#xff0c;只能自己做一些数据增强来增加背景的多样性。代码如下&#xff1a; import numpy as np import cv2def create_mask(box, height, width):"""创建一个全零的掩码图像&#xff…