洛谷OJ P1003 铺地摊
洛谷OJ P1003 铺地摊
创建时间:2019年1月31日(星期四) 上午8:19 | 分类:未分类 | 字数:1960 | 另存为… | 打印 | 添加到日历
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
输入输出格式
输入格式:
输入共n+2n+2行
第一行,一个整数nn,表示总共有nn张地毯
接下来的nn行中,第 i+1i+1行表示编号ii的地毯的信息,包含四个正整数a ,b ,g ,ka,b,g,k ,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)(a,b)以及地毯在xx轴和yy轴方向的长度
第n+2n+2行包含两个正整数xx和yy,表示所求的地面的点的坐标(x,y)(x,y)
输出格式:
输出共11行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1?6?11
输入输出样例
输入样例#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】
如下图,11 号地毯用实线表示,22 号地毯用虚线表示,33 号用双实线表示,覆盖点(2,2)(2,2)的最上面一张地毯是 33 号地毯。
【数据范围】
对于30% 的数据,有 n ≤2n≤2 ;
对于50% 的数据,0 ≤a, b, g, k≤1000≤a,b,g,k≤100;
对于100%的数据,有 0 ≤n ≤10,0000≤n≤10,000 ,0≤a, b, g, k ≤100,0000≤a,b,g,k≤100,000。
noip2011提高组day1第1题
001 一维数组
#include<stdio.h>int main()
{int n,a[110000],b[110000],g[110000],k[110000];scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d %d %d %d",&a[i],&b[i],&g[i],&k[i]);}int x,y,flag=0;scanf("%d %d",&x,&y);for(int i=(n-1);i>=0;i--)//逆序查找,找到就直接输出i+1,设置开关变量,都不满足的条件下输出-1。{if(a[i]<=x&&a[i]+g[i]>=x&&b[i]<=y&&b[i]+k[i]>=y){printf("%d",i+1);//***因为数组是从0开始,所以输出的时候要加1。当然数组从1开始就不用加了,习惯0。flag=1;break;}}if(flag==0)printf("-1");return 0;
}
002 二维数组 不习惯用二维,看到别人的题解感觉二维很方便,以后要多试试
#include<stdio.h>int main()
{int n,a[10100][5],flag=0;//因为只有a,b,g,k。这个数据,且n最大10000,所以数组足够,***如果数组过大,会造成无法输入直接出结果。所以有些大数题数组貌似做不了。scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d %d %d %d",&a[i][1],&a[i][2],&a[i][3],&a[i][4]);}int x,y;scanf("%d %d",&x,&y);for(int i=n;i>=1;i--){if(a[i][1]<=x&&(a[i][1]+a[i][3])>=x&&a[i][2]<=y&&(a[i][2]+a[i][4])>=y){printf("%d",i);flag=1;break;}}if(flag==0){printf("-1");}return 0;
}
洛谷OJ P1003 铺地摊相关推荐
- 【洛谷】P1003 铺地毯
题目地址: https://www.luogu.com.cn/problem/P1003 题目描述: 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些 ...
- #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯
洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...
- 洛谷oj题单【入门2】分支结构-入门难度(Java)
洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...
- 洛谷OJ 入门与面试 B2001-B2148 题解
洛谷OJ 入门与面试 B2001-B2148 链接:https://pan.baidu.com/s/1cMRv6SBjL_sehYj7oM8gkw 提取码:tel3 B2001 入门测试题目 #inc ...
- 洛谷OJ上的A+B花(zhuang)式(bi)解法
转眼间快到了8月,一想自己都毕业好久了,很怀念曾经在各大OJ上刷题的时光,今天无意在一个算法群里看到最近有个叫洛谷的oj网站貌似蛮火的,于是注册了一个下进去看一看,顺手打开了A+B problem,然 ...
- 【洛谷OJ C++】洛谷题单100 入门1顺序结构 题解及学习笔记
洛谷平台题单100链接:https://www.luogu.com.cn/training/100#problems 目录 学习笔记: P1001 A+B Problem P1000 超级玛丽游戏 P ...
- 【洛谷OJ C++】洛谷题单101 入门2分支结构 题解及学习笔记
洛谷题单101链接:https://www.luogu.com.cn/training/101#problems 笔记及题解目录: 学习笔记: P5710 [深基3.例2]数的性质 P5711 [深基 ...
- 铺地毯——洛谷(P1003)
本题做法很简单,将输入的数据用一个二维数组存起来,然后分别计算出x和y的取值范围,更新原来的数组,然后输入要查询的点后,遍历数组看是否有符合 k>=a[i][0]&&k<= ...
- 洛谷oj P2802 回家(BFS)
题目链接 简单说下题意,就是给一个迷宫.一开始有6滴血,走一步掉一滴.路上有补血包,问能不能在血量>=1的情况下到达终点. 这题其实就是HDU上面的1072.个人做题习惯搜索题最短路一般用BFS ...
- 洛谷OJ素数及其筛法刷题集
学会了线性筛.快速判断素数的读者可以在OJ上刷这些题了(后续将会完善补充) P3912 素数个数 P1835 素数密度 本题稍有难度,可以结合合数的性质来快速筛除区间内的合数,时间复杂度大致接近于区间 ...
最新文章
- docker-compose运行sentry
- iptables —— Iptables防火墙规则使用梳理
- .NET获取机器信息
- 《Python编程从入门到实践》记录之列表遍历
- MySQL中的空间扩展
- 函数式编程-将Monad(单子)融入Swift
- cad细等线体不显示_CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ?...
- sqlserver的like '%xxx%'优化,全文索引
- 大数据时代的可扩展性数据库集群技术
- 中行网银安全控件 v1.0 官方版
- 内存映射(Memory Map)
- 双向循环链表讲解及实现
- CATIA 鼠标快捷键组合
- Hadoop 中 FileSplit (文件分割器)的简单使用
- html 旋转木马 轮播,jQuery 3D旋转木马轮播图插件jquery.caroursel.js
- 一种化学荧光探针945928-17-6,TAMRA alkyne,5-isomer,四甲基罗丹明-炔基
- 运动模糊 motion blur
- JS 中 apos;helloapos; 和 new String(apos;helloapos;) 引出的问题
- (附源码)spring boot大学生综合素质测评系统 毕业设计 162308
- Quill 富文本编辑器二次封装