洛谷 P1003 [NOIP2011 提高组] 铺地毯
这道题思路简单,题目要求最上面的地毯在规定的坐标上面就输出这个地毯的序号,若没有就就输出-1,
显然,最简单的就是从后往前遍历地毯,看是否满足条件,若满足直接return 0;
输出地毯序号;
代码如下
#include <stdio.h>
#define N 10000
int main()
{
int n;
scanf("%d",&n);
int x1,y1;
int array[N][4];
int i=0;
getchar();
for(i;i<n;i++)
{
scanf("%d %d %d %d",&array[i][0],&array[i][1],&array[i][2],&array[i][3]);
}
getchar();
scanf("%d %d",&x1,&y1);
for(i=i-1;i>=0;i--)
{
if((array[i][0]<= x1 && x1 <= (array[i][0]+ array[i][2]) ) && (array[i][1] <= y1 &&y1 <=( array[i][1] + array[i][3]))){
printf("%d",i+1);
return 0;
}
}
printf("-1");
return 0;
}
无语的一点是,下面这个判断顺序这样写才对
(array[i][0]<= x1 && x1 <= (array[i][0]+ array[i][2]) ) && (array[i][1] <= y1 &&y1 <=( array[i][1] + array[i][3])))
这个判断顺序当时耽搁30分钟,无语子…
结束,明天继续…
6万+

被折叠的 条评论
为什么被折叠?



