(水题)洛谷

https://www.luogu.org/problemnew/show/P1003

一开始觉得是用树套树来区间修改单点查询,但是发现空间不够开。

看了题解发现这个是静态的问题,而且只问一个点的结果。

直接暴力判断哪个地毯最后覆盖这个点就行了。

真的智障。

#include<bits/stdc++.h>
using namespace std;
#define ll long long

int a[10005];
int b[10005];
int g[10005];
int k[10005];
int main(){
    int n;
    scanf("%d",&n);

    for(int i=1;i<=n;i++){
        scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
    }

    int x,y;
    scanf("%d%d",&x,&y);

    int ans=-1;
    for(int i=1;i<=n;i++){
        if(a[i]<=x&&x<=a[i]+g[i]&&b[i]<=y&&y<=b[i]+k[i])
            ans=i;
    }

    printf("%d
",ans);
}
原文地址:https://www.cnblogs.com/Yinku/p/10304483.html