P1003 铺地毯 - 洛谷 | 计算机科学教育新生态 https://www.luogu.org/problem/P1003
代码1.
#include<iostream>
#include<vector>
#define MAX 20010
using namespace std;
int N,i,a,b,c,d,j,k,x,y;
int s[MAX][MAX];
int main()
{
cin>>N;
for(i=1;i<=N;i++)
{
cin>>a>>b>>c>>d;
s[a][b]=i;
for(j=0;j<=c;j++)
for(k=0;k<=d;k++)
{
s[a+j][b+k]=i;
}
}
cin>>x>>y;
if(s[x][y]==0) cout<<-1<<endl;
else
cout<<s[x][y]<<endl;
return 0;
}
## 代码2.
```cpp
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[10010],b[10010],c[10010],d[10010],N,i,x,y;
int main()
{
cin>>N;
for(i=1;i<=N;i++)
{
cin>>a[i]>>b[i]>>c[i]>>d[i];
}
cin>>x>>y;
for(i=N;i>0;i--)
{
if(x>=a[i]&&x<=a[i]+c[i]&&y>=b[i]&&y<=b[i]+d[i])
{
cout<<i<<endl; return 0;
}
}
cout<<-1<<endl;
return 0;
}