地毯问题

铺地毯

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

这个地毯问题,只要把它转化为一个范围问题,就很简单了,设定数组来限制出每个矩形的x,y的范围,再从上往下比较就可以得出答案

我是想着弄个简单数据结构,限制出x,y的范围那,这个基本解决了,再用坐标来一个个比较就出来了;

#include <iostream>

using namespace std;
struct position
{
    int x[2];
    int y[2];
};

bool data(int m,int x1,int x2)
{
    if(m>=x1&&m<=x2 )
        return true;
    else return false;
}

int main()
{
    int n,i,x,y;
    scanf("%d",&n);
 position a[n];
    for(i=0;i<n;i++)
    {
        scanf("%d%d%d%d",&a[i].x[0],&a[i].y[0],&x,&y);
        a[i].x[1]=a[i].x[0]+x;
        a[i].y[1]=a[i].y[0]+y;

    }
    scanf("%d%d",&x,&y);
    int t=-1;
    for(i=n-1;i>=0;i--)
    {

        if(data(x,a[i].x[0],a[i].x[1])&&data(y,a[i].y[0],a[i].y[1]))
         {
             t=i; break;
         }
    }
    if(t!=-1)
    {
        t=t+1;
        printf("%d",t);
    }
   else printf("-1");
   return 0;

}

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-20 17:21
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议