【洛谷 P1003】[NOIP2011 提高组] 铺地毯 题解(数组+贪心算法)

news2024/9/23 19:18:50

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

思路

所求的地毯的编号up初值为-1。从下到上遍历地毯,若所求点位于某张地毯内,则up记为地毯编号。

AC代码

#include <iostream>
#define AUTHOR "HEX9CF"
using namespace std;

int main()
{
    int n;
    cin >> n;
    int carpet[n][5];
    int x, y;
    int up = -1;

    for (int i = 0; i < n; i++)
    {
        // (a, b) (x, y)
        cin >> carpet[i][0] >> carpet[i][1] >> carpet[i][2] >> carpet[i][3];
    }
    cin >> x >> y;
    for (int i = 0; i < n; i++)
    {
        if ((x <= (carpet[i][2] + carpet[i][0])) && (x >= carpet[i][0]) &&
            (y <= (carpet[i][3] + carpet[i][1])) && (y >= carpet[i][1]))
        {
            up = i + 1;
        }
    }
    cout << up;
    return 0;
}

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

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

相关文章

阿里云mysql8小版本升级造成磁盘不断增长,undolog持续增长不释放

现象&#xff1a; 1.用户升级之后&#xff0c;实例上磁盘空间以每分钟1g的速度不断增长&#xff0c; 2.高频dml表的空间不断变大但表数据其实不大&#xff0c;binlog大量产生 3.通过select * from innodb_tablespaces where name like %undo%发现undo 空间上涨较快&#xff0…

常见的九种大数据分析模型

常见的9种大数据分析模型分别为&#xff1a; 事件分析、 属性分析、 渠道分析、 Session分析、 留存分析、 归因分析、 漏斗分析、 路径分析、 分布分析 1、【事件分析】 事件分析&#xff0c;是指用户在 APP、网站等应用上发生的行为&#xff0c;即何人&#xff0c;何时&…

Python OpenCV 蓝图:1~5

原文&#xff1a;OpenCV with Python Blueprints 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 计算机视觉 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 当别人说你没有底线的时候&#xff0c;你最好真…

【AI】NVIDIA CUDA-X AI名词解释

0、NVIDIA CUDA-X AI NVIDIA CUDA-X AI是一套完整的深度学习软件 官网:https://developer.nvidia.com/deep-learning-software https://github.com/NVIDIA:NVIDIA产品、演示、示例、入门教程 1、深度学习训练 Deep Learning Training 1.1、DALI 数据加载库 (DALI)是一…

Redis实现分布式锁原理和Redisson框架实现分布式锁,全网最详细讲解

声明&#xff1a;我的大部分篇幅都讲的分布式锁的原理和实现&#xff0c;如果想直接用Redisson框架实现分布式锁&#xff0c;可以直接翻至最后面 关于分布式锁&#xff0c;适用于并发量特别大的微服务集群&#xff0c;能做到同步的实现资源的获取 我其实没有经过真实项目的分布…

MySQL调优笔记——慢SQL优化记录(1)

上周&#xff0c;项目出现线上问题&#xff0c;在这家公司做的是一个SAAS平台&#xff0c;总用户量大约10万人&#xff1b; 经过排查&#xff0c;发现是SQL问题&#xff0c;导致数据库响应慢&#xff0c;进而拖垮了整体服务&#xff1b; 通常&#xff0c;查询耗时较长的SQL涉…

Java优先级队列-堆

Java优先级队列-堆 &#x1f490;1. 二叉树的顺序存储&#x1f490;&#x1f383; 1.1 存储方式&#x1f383;&#x1f47b;1.2 下标关系&#x1f47b; &#x1f338;2. 堆(heap)&#x1f338;&#x1f31e;2.1 概念&#x1f31e;&#x1f31d;2.2 操作-向下调整&#x1f31d;&…

SER | 语音情绪识别中的TIM-NET_SER项目复现

大家好&#xff0c;今天复现的是目前语音情绪识别的SOTA论文&#xff0c;论文中文名称是 时间建模的重要性&#xff1a; 用于语音情感识别的新型时空情感建模方法 。论文中训练的数据集有英文德语等几个语音情绪识别中常见的语音情绪数据集&#xff0c;以对比精度权重等效果~各…

Android 下一代架构指南:DDD

移动端架构与网站架构的区别是什么&#xff1f;网易新闻客户端的架构演进历程是怎样的&#xff1f;为什么要选择 DDD 思想来指导重构&#xff1f;DDD 落地中应当关注哪些方面&#xff1f;带着这些问题我们来看下文。&#xff08;节选自网易新闻App架构重构实践&#xff09; 当…

Kafka吞吐量

目录 kafka的架构和流程 小文件对HDFS影响&#xff1a; 解决办法&#xff1a; kafka的架构和流程 ⾸先Kafka从架构上说分为⽣产者Broker和消费者,每⼀块都进⾏了单独的优化,⽐如⽣产者快是因为数据的批量发送&#xff0c;Broker快是因为分区,分区解决了并发度的问题,⽽且⽂…

媒体宣传的优势与重要性

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传日益成为企业和品牌宣传推广的重要手段&#xff0c;媒体的宣传报道更有权威性&#xff0c;能够帮助品牌进行背书&#xff0c;更有权威性&#xff0c;另外媒体的报道在搜索引擎中…

基于GPS/北斗卫星技术的无盲区车辆调度系统

基于GPS/北斗卫星技术的无盲区车辆调度系统 现代车辆调度系统是一种集全球卫星定位技术&#xff08;GPS&#xff09;、地理信息技术&#xff08;GIS&#xff09;和现代通信技术于一体的高科技项目。它将移动目标的动态位置&#xff08;经度与纬度&#xff09;、时间和状态等信息…

linux环境搭建jmeter、ant、git、Jenkins、jdk、Tomcat

我在搭建环境时&#xff0c;将jmeter、ant、jdk、Tomcat都放在陆opt文件夹下 1.下载jmeter、ant、Jenkins&#xff08;Jenkins.war包&#xff09;、jdk、Tomcat Linux环境下安装Jenkins&#xff0c;需要jdk版本大于11 2.环境配置 jdk配置 vim /etc/profile 添加配置信息&am…

飞书接入ChatGPT - 将ChatGPT集成到飞书机器人,直接拉满效率 【飞书ChatGPT机器人】

文章目录 前言环境列表视频教程1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话,在下面操作步骤中,使…

LBS找外贸客户 外贸怎么找客户

随着全球贸易的不断发展&#xff0c;越来越多的企业开始寻找更多的客户和销售机会。而随着移动互联网的普及&#xff0c;LBS已经成为了人们生活和工作中不可或缺的一部分。在商业领域中&#xff0c;LBS被广泛应用于定位、导航、营销等方面&#xff0c;为企业提供了更加便捷、精…

如何在Mac VM Fusion上安装和使用Plan 9

我在 Mac 上使用 VM Fusion 安装 Plan 9 的时候遇到了很多问题&#xff0c;官方文档和有些前两年的国外的一些博客并没有写清楚&#xff0c;甚至出现了“误导”的情况&#xff08;有些情况变了&#xff09;。所以来写本文帮助其他也遇到的问题的人。 如果你能看到这篇博客&…

上传ChatGPT相关资源,瓜分¥5000元奖金池

一、活动时间 资源类型时间上传地址上传【ChatGPT的原理分析】资源4月17日-4月30日https://upload.csdn.net/creation/uploadResources?taskId643925fde212675bb64a3984&utm_sourceblog上传【Chatgpt的多种使用方法】资源4月15日-4月30日https://upload.csdn.net/creatio…

介绍NPOI 的颜色卡、名称以及索引

文章目录 前言 遍历NPOI颜色 前言 使用NPOI的颜色时&#xff0c;一些颜色类的名称很难想象出具体对应的颜色&#xff0c;所以有了下面的对照表&#xff0c;方便使用。 NPOI 颜色的索引范围是 8~64,超出范围无效。 色彩类名索引Index名称#000000HSSFColor.Black8黑色#ffffffH…

【C++ 一】C++ 入门、数据类型、运算符

C 入门、数据类型、运算符 文章目录 C 入门、数据类型、运算符前言1 C 初识1.1 第一个C程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序 1.2 注释1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则 2 数据类型2.1 整型2.2 sizeof 关键字2.3 实型&#xff08;浮点型…

【最详细最完整】windows 安装 Oracle Java环境

windows 安装Oracle Java环境 一、安装教程二、验证Java环境 前言&#xff1a;公司有个app的项目&#xff0c;我是打算使用uniapp来实现&#xff0c;那么调试是需要使用到java环境&#xff0c;所以我本地就得安装java环境&#xff0c;接着我找了好多文章发现没有相对完整的&…