题解——铺地毯
铺地毯
https://ac.nowcoder.com/acm/problem/16593
首先题意大致为模拟铺地毯的过程,找出点中最上面的地毯。
一开始,我以为纯模拟,看数据范围,模拟铁TLE,遂想到如下方法:
我们存储四个数字,再从上到下的寻找点首先在哪个地毯上,找到了直接break。
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
ll a[10100], b[10100], c[10100], d[10100];
int main()
{
ll n, x, y;
cin >> n;
for (ll i = 1; i <= n;i++)
cin >> a[i] >> b[i] >> c[i] >> d[i];
cin >> x >> y;
for (ll i = n; i >= 1; i--)
if(a[i]<=x&&b[i]<=y&&a[i]+c[i]>=x&&b[i]+d[i]>=y)
{
cout << i;
break;
}
return 0;
}


