题解 | #铺地毯#

铺地毯

https://ac.nowcoder.com/acm/problem/16593

我所用解法的核心:判断(x,y)是否在毯子的范围内,如果在,则更新color(即所指定点所覆盖的毯子编号),如果不在,则不用管

#include <iostream>
using namespace std;

int a[10100], b[10100], g[10100], k[10100]; //记录每个毯子的左下角坐标及长和宽
int n; //毯子的数量
int x, y; //被覆盖点的坐标

int main(void)
{
    cin >> n;
    int color = 0; //记录被覆盖点现在铺着哪块毯子

    //输入a,b,j,k
    for(int i = 1; i <= n; i++)
        cin >> a[i] >> b[i] >> g[i] >> k[i];

    cin >> x >> y;

    //遍历每个毯子
    for(int i = n; i >= 1; i--)
    {
        //如果x、y在毯子覆盖的范围内,则更新覆盖点的毯子编号
        if(x >= a[i] && x <= a[i]+g[i] && y >= b[i] && y <= b[i]+k[i])
        {
            color = i;
            break;
        }
    }
    cout << color << endl;

    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:30
点赞 评论 收藏
分享
苍蓝星上艾露:这简历。。。可以试试我写的开源简历优化工具https://github.com/weicanie/prisma-ai
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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