P1003 [NOIP 2011 提高组] 铺地毯

题目链接:

P1003 NOIP 2011 提高组 铺地毯 - 洛谷

最佳思路:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a[n],b[n],x[n],y[n];
    for(int i = 0;i< n;i++)
    {
        cin >>a[i]>>b[i]>>x[i]>>y[i];
    }
    for(int i = n - 1;i >= 0;i--)
    {
        int dx,dy;
        cin >> dx>>dy;
        if(a[i] <= dx && dx <= a[i] + x[i] &&dy >= b[i] && dy <= b[i] + y[i])
        {
            cout << i + 1;
            return 0;
        }
    }
    cout << -1;
    return 0;
}

a b x y这四个数组存放每一张毯子的信息

之后再倒着往回找,找到的第一个就是结果

cpp 复制代码
if(a[i] <= dx && dx <= a[i] + x[i] &&dy >= b[i] && dy <= b[i] + y[i])

这就代表这个点落在了这张毯子上;

如果没找到就是-1;

还要注意下标的偏移 进行修正+1即可

相关推荐
爱读书的小胖1 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
inrichtt2 小时前
第七课时:STM32时钟系统揭秘:从零理解时钟树
c语言·数据结构·stm32·单片机·嵌入式硬件
垆边人似月.2 小时前
删边使每个连通块权值和为 target
算法·深度优先·图论
xxwl5852 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
xxwl5853 小时前
第六章---计算几何
笔记·学习·算法
Logic1014 小时前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性
程序猿阿森4 小时前
【机器学习实战】朴素贝叶斯算法详解:从概率基础到商品评论情感分析
算法·机器学习·概率论
余额瞒着我当琳4 小时前
哈希表底层原理解析,直接定址法,哈希冲突,负载因子,哈希函数,开放定址法
java·c++·哈希算法·散列表