最近在写noip2011的题,备战noip,先给自己加个油!

下面是noip2011的试题和自己的解题报告,希望对大家有帮助,题目1如下

1.铺地毯
(carpet.cpp/c/pas)

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

【输入输出样例说明】
如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,
2)的最上面一张地毯是3 号地毯。
x
y

【输入输出样例 2】
carpet.in carpet.out
3
1 0 2 3
0 2 3 3
2 1 3 3
4 5
-1

【输入输出样例说明】
如上图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,点(4,5)
没有被地毯覆盖,所以输出-1。

【数据范围】
对于 30%的数据,有n≤2;
对于 50%的数据,0≤a, b, g, k≤100;
对于 100%的数据,有0≤n≤10,000,0≤a, b, g, k≤100,000。

题目描述简单易懂,第一反应是线段树维护= =

后来发现只需要输出一个值,而且排列是有顺序的233333

思路:用一个巨大(也没多大,4*x就行)的数组存下所有读入数据,再从后往前依次判断即可,一旦满足 横坐标min<=所求<=横坐标max   并且纵坐标同样满足,直接跳出来输出就好

下面贴代码:

varf:array[0..4,0..23333] of longint;fx,fy:longint;i,j,k,l,m,n,o,p,a,b:longint;beginreadln(n);for i:=1 to n doread(f[1][i],f[2][i],f[3][i],f[4][i]);read(fx,fy);a:=-1;for i:=n downto 1 doif (f[1][i]<=fx) and (fx<=f[1][i]+f[3][i]) and (f[2][i]<=fy) and (fy<=f[2][i]+f[4][i])   thenbegina:=i;break;end;writeln(a);end.

转载于:https://www.cnblogs.com/victorslave/p/4799154.html

[noip2011]铺地毯(carpet)解题报告相关推荐

  1. [NOIP2011]铺地毯

    [NOIP2011]铺地毯这是一道比较简单的noip真题,我们稍微转点弯,直接模拟做就是,我们先来看看题目描述: 题目链接:[NOIP2011]铺地毯 思路 我们可以发现直接暴力模拟是不行的,那么可以 ...

  2. NOIP2011 铺地毯

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

  3. 信息学奥赛一本通 1118:铺地毯 | 1863:【11NOIP提高组】铺地毯 | OpenJudge NOI 1.9 14 | 洛谷 P1003 [NOIP2011 提高组] 铺地毯

    [题目链接] ybt 1118:铺地毯 ybt 1863:[11NOIP提高组]铺地毯 OpenJudge NOI 1.9 14:铺地毯 洛谷 P1003 [NOIP2011 提高组] 铺地毯 [题目 ...

  4. c/c++ 洛谷 P1003 【NOIP2011 提高组】 铺地毯

    题目链接 洛谷 P1003 [NOIP2011 提高组] 铺地毯 不想戳的看下图: 样例及解释 数据范围 解题思路: 从后往前找地毯,找到了我就输出并返回. 代码如下: #include <io ...

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

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

  6. noip2011提高组day1+day2解题报告

    Day1 T1铺地毯https://www.luogu.org/problem/show?pid=1003 [题目分析] 全部读入以后从最后一个往前找,找到一个矩形的范围覆盖了这个点,那这个矩形就是最 ...

  7. P1003 铺地毯(模拟)

    洛谷 / 题目列表 / 题目详情 P1003 铺地毯 Luogu 应用 题库 训练 比赛 记录 讨论 38.1K 通过 98.9K 提交 题目提供者 CCF_NOI 评测方式 云端评测 标签 NOIp ...

  8. OpenJudge NOI 1.9.14 铺地毯

    14.铺地毯 Origin URL: http://noi.openjudge.cn/ch0109/14/ 洛谷链接: https://www.luogu.com.cn/problem/P1003 注 ...

  9. 铺地毯(矩形的交+前后缀矩形交)

    铺地毯 problem solution code problem 给定矩阵的长宽 P,QP,QP,Q,矩阵从下往上从左往后编号增加,(0,0)∼(P,Q)(0,0)\sim (P,Q)(0,0)∼( ...

  10. Vjios P1736 铺地毯【暴力,思维】

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

最新文章

  1. [转]技巧:Vim 的纵向编辑模式
  2. 【收藏】在QGIS中添加Google Maps地图和卫星影像
  3. R语言比较运算符和逻辑运算符
  4. uds下载服务流程图_UDS诊断全集,干货分享
  5. mybatis配置 SqlMapConfig.xml user.xml
  6. Oracle的体系结构
  7. python教程循环语句,Python之新手教程4、循环语句
  8. dynamic结合匿名类型 匿名对象传参
  9. ubuntu下搭建tftp服务器并且验证功能
  10. c语言学生管理p1指向编译错误,在ubuntu下用C语言编写一个学生管理系统,编译时出错,紧急求救!!!...
  11. 品牌 read.php,优网科技高级程序员关于PHP优化知识分享
  12. 用foobar2000播放云服务器文件,foobar2000英文版怎么用 foobar2000怎么播放音频
  13. 刘强东学习亚马逊:控制供应链 技术是最大障碍
  14. 微信h5互动小游戏制作心得
  15. xshell6使用技巧_Xshell6的正确打开方式
  16. 框架 --mybatis(ORM映射)-数据库技术
  17. Java 定义一个抽象类—水果,其中包括getWeight()方法,创建若干水果对象存放在一个水果类型的数组中,输出数组中所有水果的类型、重量。
  18. 美军如何在不可信设备上安全访问国防部网络?
  19. 我的杂谈之学习陈氏太极拳精要18势
  20. Orleans 2.0 官方文档 —— 4.5 Grains - 观察者

热门文章

  1. C 语言中结构体中成员所占内存的大小
  2. WordPress强大多功能主题模板The7 v9.16.0 已激活版本完全兼容大多数插件
  3. WIN7共享WIFI上网
  4. GreenPlum分区表原理
  5. Python 加性高斯白噪声 AWGN
  6. python怎么画钟表表盘,python ——钟表,,1、表盘 1 fro
  7. 做过的医药类DA及产品宣传单页
  8. MBR 与 GPT - 分区时要知道的事情
  9. Vue获取手机验证码
  10. 软件设计模式Java版