【正经题解】铺地毯
2024-02-21 10:43:54
发布于:美国
11阅读
0回复
0点赞
用两个数组存每张地毯的左下角和右上角,再从后向前一张一张推,遇到要求的点在地毯内就输出并退出。
#include <iostream>
using namespace std;
int a[10001][2],b[10001][2],x,y,i,n,m;
int main()
{
scanf ("%d",&i);
for (int j=1;j<=i;j++) {scanf("%d%d%d%d",&a[j][0],&a[j][1],&n,&m); b[j][0]=a[j][0]+n; b[j][1]=a[j][1]+m;}
scanf ("%d%d",&x,&y);
for (int j=i;j>=1;j--)
if (x>=a[j][0]&&x<=b[j][0]&&y>=a[j][1]&&y<=b[j][1]) {printf("%d",j); return 0;}
cout <<-1; return 0;
}
这里空空如也
有帮助,赞一个