【模拟】铺地毯

Luogu P1003 铺地毯

题意:

输入各地毯i的左下角坐标x,y与长宽a,b。

输入一个坐标,求该点最上面的地毯号。

题解:

简单模拟,但数据极大,所以要储存后倒序找该点处覆盖的最后一个地毯。

#include<iostream>
using namespace std;
const int N=10000;
int x[N],y[N],a[N],b[N];
int main()
{
    int n,xx,yy,k=-1;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>x[i]>>y[i]>>a[i]>>b[i];
    cin>>xx>>yy;
    for(int i=n;i>0;i--){
        if(xx>=x[i]&&yy>=y[i]&&xx<=x[i]+a[i]&&yy<=y[i]+b[i])
        {k=i;break;}
    }
    cout<<k<<endl;
}

猜你喜欢

转载自blog.csdn.net/synlhr/article/details/80260999