洛谷P1003铺地毯问题题解
洛谷P1003铺地毯题解
P1003 铺地毯原题地址
认真读完题后就容易做这道题了,同样,题型不难,考察认真读题的细心程度。第一次做题就把g,k两个表示的意思弄错了,后面又错了一次出现了RE,最核心的问题就在这儿,当毯子数量较多的时候,我们如果反向取值比较的话,就很容易得到最上面的地毯编号啦。话不多说,请看代码。不周之处,还请指正,谢谢!
/*
* *洛谷P1003铺地毯问题
* 2020 03 15
* write by Miubai
*/
#include<stdio.h>
#define N 10000
int main(void){
int i,n,x,y;
int a[N],b[N],g[N],k[N];
scanf("%d",&n);
for(i = 0;i<n;i++)
scanf("%d %d %d %d",&a[i],&b[i],&g[i],&k[i]);
scanf("%d %d",&x,&y);
while(n--){
if(x>=a[n]&&x<=(a[n]+g[n])&&y>=b[n]&&y<=(b[n]+k[n])) { //所求点要在a<x<a+g和b<y<b+k这个区间内,就像当于在地毯这个平面上;
printf("%d",n+1);
return 0;
}
}
printf("-1");
return 0;
}
已完结,谢谢查看!
本文来自博客园,作者:缪白(Miubai),转载请注明原文链接:https://www.cnblogs.com/Miubai-blog/articles/12501061.html