给你整个代码借鉴一下```cpp
#include<bits/stdc++.h>
using namespace std;
int a[10010],b[10010],c[10010],d[10010],t,n,s,h;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i]>>c[i]>>d[i];
}
cin>>t>>s;
int v=-1;
for(int i=1;i<=n;i++){
if(t>=a[i]&&t<=(a[i]+c[i])&&s<=(b[i]+d[i])&&s>=b[i]){
v=i;
}
}
cout<<v;
return 0;
}
```
by wei345 @ 2024-02-19 11:45:48
@[zdrcgubjo](/user/948175)
结构体会吧?
会就然后一顿乱敲
写出代码:
```cpp
#include <iostream>
using namespace std;
struct carpet{
int a,b,x,y;//开个结构体
}m[10001];
int main()
{
int n,tx,ty;
cin>>n;
for(int i=1;i<=n;++i){
cin>>m[i].a>>m[i].b>>m[i].x>>m[i].y;
}
cin>>tx>>ty;
//上面是定义和输入没啥好说的
for(int i=n;i>=1;--i){//因为要求最上面的那张地毯,所以从后往前找
if(tx<=m[i].a+m[i].x&&tx>=m[i].a&&ty>=m[i].b&&ty<=m[i].b+m[i].y){//判断输入的坐标是否在第i张地毯的覆盖范围内
cout<<i;//找到就输出
return 0;//结束程序
}
}
cout<<-1;//循环完没找到输出-1
return 0;
}
```
by HFZ20111110 @ 2024-02-23 11:20:46
@[wei345](/user/1142251) 好吧谢谢
by zdrcgubjo @ 2024-02-23 18:30:46
@[HFZ20111110](/user/1234400) ![](https://picx.zhimg.com/50/v2-624ee973d13378c5c17d9b27c2cbebd5_720w.webp?source=1def8aca)
但还是谢谢
by zdrcgubjo @ 2024-02-23 18:32:02