|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 元豪 于 2023-2-11 15:13 编辑
上一关:解密
梦想护卫舰 第19关 铺地毯
你们进入外星人领地后,外星人说:“你们把我们的难题解开,我就放了他。”(外星人事先准备好了翻译器)
外星人的难题是这样的:
外星人为了准备一个独特的颁奖典礼,他们在会场的一片矩形区域铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,外星人想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
为了救出zhangjinxuan,你们只好绞尽脑汁的解题。
输入格式
输入共 n + 2 行。
第一行,一个整数 n,表示总共有 n 张地毯。
接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a、b、g、k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a, b) 以及地毯的长和宽
第 n + 2 行包含两个整数 x 和 y,表示所求的地面的点的坐标 x, y。
输出格式
输出共 1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出 -1。
输入输出样例
输入 #1
- 3
- 1 0 2 3
- 0 2 3 3
- 2 1 3 3
- 2 2
复制代码
输出 #1
输入 #2
- 3
- 1 0 2 3
- 0 2 3 3
- 2 1 3 3
- 4 5
复制代码
输出 #2
数据范围
对于 100% 的数据,有 0 ≤ n ≤ 10^4 , 0 ≤ a、b、g、k ≤ 10^5。
时间限制 1.00s
答案与解析
答题规则
1. 不能抄题解,否则无奖励,可能还会扣分;
2. 爆零的代码,视为普通回帖,不会奖励;
3. 语言任意。
4. 当您遇到问题时,您可以回贴提问,我会为您解答
奖励规则
1. 奖励3天后统一发,3天内发布的题解才有效;
2. 提供完整题解,但没有上排行榜,奖励1鱼币+1荣誉;
3. 高于1鱼币1荣誉的奖励,仅给排行榜上的鱼油(因为经济原因,请谅解);
4. 因为额度原因,部分鱼油可能下一天才能奖励。
排行榜
- #include<bits/stdc++.h>
- using namespace std;
- int n, a[10001], b[10001], g[10001], k[10001], x, y;
- int main() {
- scanf("%d", &n);
- for (int i = 1; i <= n; ++i) {
- scanf("%d%d%d%d", &a[i], &b[i], &g[i], &k[i]);
- g[i] += a[i];
- k[i] += b[i];
- }
- scanf("%d%d", &x, &y);
- for (int i = n; i >= 1; --i) {
- if (x >= a[i] && x <= g[i] && y >= b[i] && y <= k[i]) {
- printf("%d\n", i);
- return 0;
- }
- }
- puts("-1");
- return 0;
- }
复制代码
|
评分
-
查看全部评分
|