P1003 [NOIP2011 提高组] 铺地毯

// Problem: P1003 [NOIP2011 提高组] 铺地毯
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P1003
// Memory Limit: 125 MB
// Time Limit: 1000 ms
// User: Pannnn

#include <bits/stdc++.h>

using namespace std;

struct Carpet {
    int a;
    int b;
    int g;
    int k;
};

/*
    初始思路:
    遍历地毯,把每个地毯的覆盖范围都修改为地毯编号,必定超时。
    
    只考虑目标点,判断每个地毯是否会覆盖在此点上,若覆盖,修改结果。
*/

int main() {
    int n;
    cin >> n;
    vector<Carpet> info(n + 1);
    
    for (int i = 1; i <= n; ++i) {
        cin >> info[i].a >> info[i].b >> info[i].g >> info[i].k;
    }
    int x, y;
    cin >> x >> y;
    int res = -1;
    for (int i = 1; i <= n; ++i) {
        if (x >= info[i].a && x <= info[i].a + info[i].g &&
            y >= info[i].b && y <= info[i].b + info[i].k) {
            res = i;
        }
    }
    cout << res << endl;
    return 0;
}
上一篇:mysql视图


下一篇:Java 基础(抽象类与抽象方法)