洛谷——P1003 铺地毯

题目描述

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

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

输入输出格式

输入格式:

输入文件名为carpet.in 。

输入共n+2 行。

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

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

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

输出格式:

输出文件名为carpet.out 。

输出共1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1 。

输入输出样例

输入样例#1:

3
1 0 2 3
0 2 3 3
2 1 3 3
2 2
输出样例#1:

3
输入样例#2:

3
1 0 2 3
0 2 3 3
2 1 3 3
4 5
输出样例#2:

-1

说明

【样例解释1】

如下图,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。

noip2011提高组day1第1题

我一上来就用的暴力算法做的,三从循环,让每一次加入一个地毯以后就修改一次,然后,光荣的各种RE,MLE,TLE。

其实对于他的这个坐标我还是挺纳闷的,为什么坐标都要加,而且他说他给出的是做左下角的坐标,那样的话应该是减啊???

并且他这个地方所说的x,y坐标并不是与我们数学上所说的x,y坐标一样,他这个地方的x竟然是竖着的!!!

数组开小的后果。。。

直接暴力+横纵坐标弄反的的后果。。。

直接暴力。。。。

看来我们要找一个好点的做法,让我们不MLE。。。。

我们判断一个点被谁覆盖的时候,我们可以这样想:对于一块地毯当他的横纵坐标都小于所求点的横纵坐标&&它的横纵坐标都包含在地毯的横纵坐标+地毯的长宽之内,他就被这块地毯覆盖了,这样我们就可以用1重循环求出这个点被谁覆盖了。。。

横纵坐标弄反。。。。

终于对了。。。。

代码:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 100001
using namespace std;
int n,x[N],y[N],a[N],b[N],ans,xx,yy;
int main()
{
    scanf("%d",&n);
    ;i<=n;i++)
     scanf("%d%d%d%d",&a[i],&b[i],&x[i],&y[i]);
    scanf("%d%d",&xx,&yy);
    ;i<=n;i++)
     {
         if(a[i]+x[i]>=xx&&a[i]<=xx&&b[i]<=yy&&b[i]+y[i]>=yy)
           ans=i;
     }
    )     printf("-1");
    else printf("%d",ans);
    ;
}

P1003 铺地毯(noip 2011)的更多相关文章

  1. 洛谷P1003 铺地毯 noip2011提高组day1T1

    洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...

  2. 1134 铺地毯【2011年NOIP全国联赛提高组】

    http://codevs.cn/problem/1134/ 题目描述 Description 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地 ...

  3. [NOIP2011] 提高组 洛谷P1003 铺地毯

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  4. 洛谷 P1003 铺地毯

    嗯.... 一道比较水的模拟题.. 刚拿到题的时候被它的数据范围吓到了,二维数组不可能开那么大啊,可是一边做发现测试数据太水 ... 先看一下题吧... 题目描述 为了准备一个独特的颁奖典礼,组织者在 ...

  5. 洛谷P1003铺地毯(提高组)

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n. 现在将这些地毯按照编号从小到大的顺序平行于 ...

  6. (水题)洛谷 - P1003 - 铺地毯

    https://www.luogu.org/problemnew/show/P1003 一开始觉得是用树套树来区间修改单点查询,但是发现空间不够开. 看了题解发现这个是静态的问题,而且只问一个点的结果 ...

  7. 洛谷—— P1003 铺地毯

    https://www.luogu.org/problem/show?pid=1003 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形 ...

  8. P1003铺地毯

    这道题是2011年提高组第一题,在洛谷被评为普及-.看到题目后直接写了一个纯模拟,结果第一次提交全部RE,后将数组开大,随即MLE.然后又去思索其余方法,采用先将每一个地毯的对角线存下来,然后i--看 ...

  9. 一个蒟蒻的解题过程记录——洛谷P1003 铺地毯

    这到题算是我“火线回归”后码的第一道题,病好了心情不错,发篇博客分享一下 目录: ·题目描述 ·题目分析 ·解题思路 ·代码实现 ·总结 ·题目描述: 为了准备一场特殊的颁奖典礼,组织者在会场的一片矩 ...

随机推荐

  1. java中properties的使用实例

    package com.ywx.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...

  2. IE11/Flash页游白屏怎么办!立刻开启IE大地址模式!缓解浏览器白屏问题

    您是否经常发现IE白屏了,具体表现为点开新网页时无法显示,只能切换标签,用任务管理器一看,内存1.2G之多. 这是因为IE11可能有内存泄露问题,内存不断增长以至于无法申请新的内存,于是IE就完蛋了! ...

  3. JavaScript 在线测试

    <iframe src="http://www.it1352.com/Onlinetools/OnlineCompileCommon/17?c_height=100&r_hei ...

  4. SQLite – DISTINCT 关键字

    SQLite – DISTINCT关键字 使用SQLite DISTINCT关键字与SELECT语句来消除所有重复的记录和获取唯一的记录. 可能存在一种情况,当你有多个表中重复的记录. 获取这些记录, ...

  5. (三)docker 的启动,重启,关闭命令

    docker启动命令,docker重启命令,docker关闭命令  启动    systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重 ...

  6. js将时间戳装换成日期格式

    13位时间戳改为yyyy-MM-dd HH-mm-ss 格式 目标时间戳:1516324500000 formatDateTime (unix) { // 转换时间戳 var date = new D ...

  7. myBatis.xml文档实例

    单个参数:myBatis不会做特殊处理 #{参数名}: 取出参数值 多个参数: myBatis会做特殊处理 多个参数会被封装成一个MAP key:param1 param2.... param10,或 ...

  8. HTML基础(二)列表标签

    无序列表ul ul标签的格式为 <ul> <li>内容1</li> <li>内容2</li> <li>内容3</li> ...

  9. Mac下Apache服务器的初步搭建

    回送地址  127.0.0.1(localhost)  ping 这个地址可以检测网卡是否正常 ping 本地地址如果不正常说明网线挂了   // 启动 sudo apachectl -k start ...

  10. Abaqus用户子程序umat的学习

    Abaqus用户子程序umat的学习 说明:在文件中,!后面的内容为注释内容.本文为学习心得,很多注释是自己摸索得到.如有不正确的地方,敬请指正. ! ------------------------ ...