问题标题: 酷町堂:P1003 铺地毯 洛谷

0
0
已解决
陈星宇
陈星宇
资深守护
资深守护

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到n 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。

地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

 

 

 

 

 

 

 

复制题解的不要!!!


1
已采纳
蒋智航
蒋智航
高级天翼
高级天翼

 

int n,a[10000][4],x,y,sum=-2;  
    scanf("%d",&n);  
    int i;  
    for(i=0;i<n;i++)  
    {  
        scanf("%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);  
    }  
    scanf("%d%d",&x,&y);  
    for(i=0;i<n;i++)  
    {  
        if(x>=a[i][0]&&x<=a[i][2]+a[i][0]&&y>=a[i][1]&&y<=a[i][3]+a[i][1])  
            sum=i;  
    }  
    printf("%d",++sum);  

 

1
1
黄昊轩
黄昊轩
新手守护
新手守护

int n,x,y;

int b=1;

cin>>n;

for(int i=1;i<=n;++i)

{ for(int ii=1;ii<=4;++ii)

cin>>shuzu[i][ii];

 }

cin>>x>>y;

for(int q=n;q>=1;--q)

{

if((shuzu[q][1]<=x)&&(shuzu[q][3]+shuzu[q][1]>=x)&&(shuzu[q][2]<=y)&&(shuzu[q][2]+shuzu[q][4]>=y))

 { cout<<q; b=2 ;

}

if(b==2) break;

if(q==1)

{ cout<<-1; break;

}

}

1
1
蒋智航
蒋智航
高级天翼
高级天翼

蒋智航在2018-04-12 12:56:31追加了内容

What are  you doing?????

0
我要回答