P1003 铺地毯(C语言)

P1003 铺地毯

在这里插入图片描述
在这里插入图片描述

1.思路

刚看到这个题目的时候,真的很迷惑,不知道怎么用代码表示,也是在看了别人的代码,才理解这道题目的,然后就写下了这个思路。
1.首先先要逆序判定,因为题目要求输出值比较大的地毯
2.然后根据输入的数据判断数,是否在这个范围内
3.如果找到了就输出并退出循环。

2.源码

#include <stdio.h>
int main()
{
	int i,n,x[10005],y[10005],a[10005],b[10005],x1,y1,k=1;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d%d%d%d",&x[i],&y[i],&a[i],&b[i]);
	scanf("%d%d",&x1,&y1);
	for(i=n-1;i>=0;i--)    //逆序输出
	{
	    if((x1>=x[i]&&x1<=x[i]+a[i])&&(y1>=y[i]&&y1<=y[i]+b[i]))
		{    printf("%d\n",i+1); k*=0;}
		else continue;
		if((x1>=x[i]&&x1<=x[i]+a[i])&&(y1>=y[i]&&y1<=y[i]+b[i]))
	        break;     //输出最大的跳出循环
	}
	if(k==1) printf("-1\n");
    return 0;
}
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页