首页 > 其他分享 >[2011年NOIP提高组] 铺地毯

[2011年NOIP提高组] 铺地毯

时间:2022-08-14 19:23:07浏览次数:60  
标签:输出 NOIP 覆盖 int CAT 编号 2011 地毯

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有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。
样例输入
3
1 0 2 3
0 2 3 3
2 1 3 3
2 2
样例输出
3
提示
【输入输出样例说明】 如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2, 2)的最上面一张地毯是 3 号地毯。

【数据范围】 对于 30%的数据,有 n≤2; 对于 50%的数据,0≤a, b, g, k≤100; 对于 100%的数据,有 0≤n≤10,000,0≤a, b, g, k≤100,000。
因为a,b,j,k,<=1e6所以直接使用二维数组模拟会内存超限 所以用数组将每张地毯的信息储存 并且因为只求最上面的那一张地毯直接取巧倒叙查找能够覆盖点(x,y)的地毯 代码如下
#include<iostream>

using namespace std;

int CAT[20000][5];
int N,AX,AY;

int main()
{
    cin>>N;
    for(int i=1;i<=N;++i)
    {
        cin>>CAT[i][1]>>CAT[i][2]>>CAT[i][3]>>CAT[i][4];
        CAT[i][3]+=CAT[i][1];
        CAT[i][4]+=CAT[i][2];
     //直接将地毯在左下角的坐标和地毯在横纵坐标的延伸相加表示地毯能够覆盖的最大范围 } cin>>AX>>AY; for(int i=N;i>=1;--i) { if(CAT[i][1]<=AX&&CAT[i][3]>=AX&&CAT[i][2]<=AY&&CAT[i][4]>=AY)
     //如果地毯能够完全将这个点覆盖输出序号 { cout<<i; return 0; } } cout<<-1;
  //找不到输出-1
return 0; }

 

             

标签:输出,NOIP,覆盖,int,CAT,编号,2011,地毯
From: https://www.cnblogs.com/XdzxBo/p/16586091.html

相关文章

  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期题目大意:用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月 份,最后 2 位代表日期,一个日期是回文的,当且仅当表示这个日......
  • [NOIP1998 普及组] 三连击
    [NOIP1998普及组]三连击思路:本题可以运用暴力枚举法,因为题目中有9个数字,所组成的3个三位数a,b,c的各个位数上的数的乘积与这已知的9个数的乘积相等,并且b=2*a,c=3*a。从能......
  • NC16496 [NOIP2014]飞扬的小鸟
    题目链接题目题目描述为了简化问题,我们对游戏规则进行了简化和改编:\1.游戏界面是一个长为n,高为m的二维平面,其中有k个管道(忽略管道的宽度)。\2.小鸟始终在游戏界......
  • [NOIP2001 提高组] 一元三次方程求解
    试题描述:输入一行,4个实数a,b,c,d输出一行,3个实根,从小到大输出,并精确到小数点后2位。样例输入1-5-420样例输出-2.002.005.00#include<bits/stdc+......
  • [NOIP2001 提高组] 一元三次方程求解
    [NOIP2001提高组]一元三次方程求解分析:由题意得,本题要求的是一元三次方程等于0时的三个根,由图像我们可知等于0时的根左右两侧的点的纵坐标乘积(也就是根)为负数,因为题目......
  • [2000年NOIP普及组] 税收与补贴问题
    [2000年NOIP普及组]税收与补贴问题思路:先开一个二维数组,将商品在各个价位的销售量以表格的方式记录下来,再加上补贴或税收,得出最大利润与期望的比较,最后输出代码如下:#in......
  • [2000年NOIP普及组] 税收与补贴问题
     价格枚举范围,只要销量不为0就一直枚举。因销量有两个区间,故枚举时要注意。该题要注意,最小值在绝对值中产生,要注意输出结果有正有负。    ......
  • P1190 [NOIP2010 普及组] 接水问题(嵌套循环——贪心算法)
    学校里有一个水房,水房里一共装有mm个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为11。现在有nn名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺......
  • [2016年NOIP普及组] 回文日期
    部分正确  没考虑月份日期的合法性正确   ......
  • [2000年NOIP普及组] 税收与补贴问题(样例解析)
    开始。首先,我们用题目给的样例数据,做成如下的数据表。既不补贴,也不加税。  可见这时商家卖33元是利润最大的,400元。下面,我们动用税和补贴,最终要使得商家卖31元的时候利......