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