题意:给定一个矩形红布(左下角坐标和长度和宽度)铺盖在坐标系上,求给出的坐标最后是被哪一个红布覆盖?
解决:枚举每一块红布,看最后覆盖该点坐标的是哪一块红布。
代码:
#include<bits/stdc++.h>
using namespace std;
int a[10010][4];
int main()
{
int n;
cin >> n;
int ans = -1;
for (int i = 1; i <= n; i++) {
cin >> a[i][0] >> a[i][1] >> a[i][2] >> a[i][3];
}
int x, y;
cin >> x >> y;
for (int i = 1; i <= n; i++) {
int c, b, g, k;
c = a[i][0], b = a[i][1], g = a[i][2], k = a[i][3];
if ((c <= x && c + g >= x) && (b <= y && b + k >= y)) ans = i;
}
cout << ans << '\n';
return 0;
}