#include<iostream>
#include<vector>
using namespace std;
struct square{
int x1, y1, x2, y2;
};
vector<square> sq;
int main(){
int N;
cin >> N;
while(N--){
int a, b, c, d;
cin >> a >> b >> c >> d;
sq.push_back({a, b, a + c, b + d});
}
int tx, ty, ans = 0;
cin >> tx >> ty;
for(auto i = 0; i < sq.size(); i++){
if(tx >= sq[i].x1 && tx <= sq[i].x2 && ty >= sq[i].y1 && ty <= sq[i].y2){
ans = i + 1;
}
}
cout << ans;
return 0;
}
#include<iostream>
using namespace std;
struct MyStruct
{
int a, b, g, k;
};
int n, x, y, ans = -1;
MyStruct a[10005];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i].a >> a[i].b >> a[i].g >> a[i].k;
}
cin >> x >> y;
for (int i = 1; i <= n; i++)
{
if (x >= a[i].a && x <= a[i].a + a[i].g && y >= a[i].b && y <= a[i].b + a[i].k)
{
ans = i;
}
}
cout << ans;
return 0;
}
// 包含输入输出流库,用于基本的输入输出操作
#include<iostream>
// 包含向量容器库,用于动态存储多个矩形信息
#include<vector>
// 使用标准命名空间,避免在代码中重复书写std::前缀
using namespace std;
// 定义一个结构体square,用于存储矩形的坐标信息
struct square{
int x1, y1; // 矩形左下角顶点的x和y坐标
int x2, y2; // 矩形右上角顶点的x和y坐标
};
// 声明一个向量容器sq,用于存储所有矩形的信息
vector<square> sq;
int main(){
int N; // 用于存储矩形的数量
cin >> N; // 从标准输入读取矩形的数量
// 循环读取N个矩形的信息
while(N--){
int a, b, c, d; // a,b表示矩形左下角坐标,c,d表示矩形的宽和高
cin >> a >> b >> c >> d; // 读取矩形参数
// 将矩形的两个对角顶点坐标存入向量中
// 左下角为(a,b),右上角为(a+c, b+d),因为c是宽度,d是高度
sq.push_back({a, b, a + c, b + d});
}
int tx, ty; // 用于存储目标点的坐标
int ans = 0; // 用于存储结果,初始值为0表示没有矩形包含目标点
cin >> tx >> ty; // 读取目标点的坐标
// 遍历所有矩形,判断目标点是否在矩形内部
for(auto i = 0; i < sq.size(); i++){
// 检查目标点(tx, ty)是否在当前矩形[i]的内部或边界上
// 条件:tx在x1和x2之间,且ty在y1和y2之间
if(tx >= sq[i].x1 && tx <= sq[i].x2 && ty >= sq[i].y1 && ty <= sq[i].y2){
ans = i + 1; // 如果包含,更新结果为当前矩形的序号(从1开始)
}
}
// 输出结果,即包含目标点的最后一个矩形的序号,若没有则输出0
cout << ans;
return 0;
}