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;
}