题解 | 铺地毯

铺地毯

https://www.nowcoder.com/practice/60d56feb871c41b3a9aa40d51ffd256c

#include<bits/stdc++.h>

using namespace std;

int main() {

int n;

int x,y;

cin>>n;

vector<int>a(n);

vector<int>b(n);

vector<int>g(n);

vector<int>k(n);

for(int i=0;i<n;i++){

cin>>a[i]>>b[i]>>g[i]>>k[i];

}

cin>>x>>y;

//因为地毯会覆盖,从数字大的下标开始遍历会获得满足条件的最上面的地毯

for(int j=n-1;j>=0;j--){

//判断该点在不在地毯上,a[i]<x<(a[i]+g[i]) ; <b[i]y<(b[i]+k[i])

if(x>=a[j] && x<=(a[j]+g[j]) && y>=b[j] && y<=(b[j]+k[j])){

//j范围是从0到n-1,地毯编号是从1到n

cout<<j+1;

return 0;

}

}

//没有满足的就输出-1

cout<<-1;

return 0;

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务