Font Size: Aa Aa Aa
这几天XX实在是太不听话了,于是邪恶的CX就想找个方法教训一下XX.CX绞尽脑汁终于想到了一个难题考XX,只要XX回答不出来的话,嘿嘿````
一向调皮捣蛋的XX肯定是没有希望回答出这个难题了,XX只好向聪明的你求救了.
给定一系列2维平面点的坐标(x,y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内.长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内.
测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中-1000000 < x,y < 1000000 .一对0 坐标标志着一个测试用例的结束.注意(0 , 0)不作为任何一个测试用例里面的点.一个没有点的测试用例标志着整个输入的结束.
对每个测试用例,在1行内输出2对整数,其间用一个空格隔开.第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标.
12 56
23 56
13 10
0 0
12 34
0 0
0 0
12 10 23 56
12 34 12 34
参考代码如下:
#include<stdio.h>
int main()
{
int x,y;
int maxx=0,maxy=0;
int minx=0,miny=0;
while( scanf("%d %d",&x,&y) && (x||y))
{
maxx = minx = x;
maxy = miny = y;
while( scanf("%d %d",&x,&y) && (x||y))
{
if(x>maxx) maxx=x;
else if(x<minx) minx=x;
if(y>maxy) maxy = y;
else if(y<miny) miny = y;
}
printf("%d %d %d %d\n",minx,miny,maxx,maxy);
}
return 0;
}
更多做题心得的详情请查看(记得关注哦) https://mp.weixin.qq.com/s?__biz=MzIyOTM4MDMxNw==&mid=2247483798&idx=1&sn=d4fbd34e50ce4efda39d7710d2dc5dc9&chksm=e842d824df3551320d7f1ed85286b2616aec419f7a852cc5c9c9f270beb237b5e6ca83166162&token=1630951018&lang=zh_CN#rd