P1003 铺地毯

题目描述

在一个平面直角坐标中,铺了n张矩形地毯,编号从1到n,每张地毯按从大到小平行于坐标轴铺设,后铺地毯在先铺地毯之上。

样例输入

3
1 0 2 3
0 2 3 3
2 1 3 3
2 2

样例输出

3

思路

O(2n)
把每一张地毯和问的坐标对比,统计包括坐标的最后一张地毯。
var
  a,b:array[1..10000,1..2] of longint;
  n,i,x,y,ans:longint;
begin
  readln(n);
  for i:=1 to n do
    begin
      readln(a[i,1],a[i,2],b[i,1],b[i,2]);
      b[i,1]:=b[i,1]+a[i,1];
      b[i,2]:=b[i,2]+a[i,2];
    end;
  readln(x,y);
  for i:=1 to n do
    if (x>=a[i,1])and(x<=b[i,1]) then
      if (y>=a[i,2])and(y<=b[i,2]) then
        ans:=i;
  if ans=0 then writeln(-1)
  else writeln(ans);
end.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值