题目描述
思路
我们考虑倒序, 判断每块地毯是否覆盖所求坐标, 输出即可. 若未覆盖, 输出 \(-1\) 即可
Code
#include <cstdio>
const int N = 1e4 + 10;
int n, x, y, a[N], b[N], g[N], k[N];
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]);
scanf("%d%d", &x, &y);
for (int i = n; i >= 1; i--) {
if (x >= a[i] && x <= a[i]+g[i] && y >= b[i] && y <= b[i]+ k[i]) {
printf("%d", i); return 0;
}
}
printf("-1");
return 0;
}