其他分享
首页 > 其他分享> > NC16593-铺地毯

NC16593-铺地毯

作者:互联网

题目链接:

题意:给定n个矩形,包括矩形的左下角坐标(a,b)和沿x轴方向长度g和沿y轴长度k,给出1个点(x,y),求覆盖此点最上边的矩形编号。矩形从1~n依次覆盖,此点没有覆盖则输出-1;

思路:逆序枚举每个矩形,判断此点是否被此矩形覆盖,如果覆盖则是此矩形,遍历完啊没有被覆盖则输出-1。

#include<iostream>

using namespace std;
struct node{
int a,b,g,k;
}m[(int)1e4+5];

int main (){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>m[i].a>>m[i].b>>m[i].g>>m[i].k;
    }
    int x,y;
    cin>>x>>y;
    bool f=true;
    for(int i=n;i>=1;i--){
        if(x>=m[i].a&&x<=m[i].a+m[i].g&&y>=m[i].b&&y<=m[i].b+m[i].k){
            f=false;
            cout<<i<<endl;
            break;
        }
    }
    if(f)cout<<-1;

return 0;
}

标签:覆盖,int,cin,NC16593,&&,此点,矩形,地毯
来源: https://www.cnblogs.com/abestxun/p/14301093.html