You are going to read a sequence of pairs of integer numbers. Each pair represents the Cartesian coordinates of a point in a 2-dimentional plane. The first number is the x coordinate, while the second is that of y. The sequence represents a polygonal line. Your task is to draw a rectangle with minimal length of sides that exactly surrounds the polygonal line. The sides of the rectangle are parallel to x- and y-axis, respectively.
Input
Input consists of several test cases. For each case, a sequence of coordinates is given. Each pair of x and y occupies a line, with |x| and |y| less than 2^31. The sequence is terminated with a pair of 0's. Note that (0, 0) will never be considered as a point on any of the polygonal lines. An empty polygonal line signals the end of input.
Output
For each test case, print in one line two pairs of numbers, which are the south-west and north-east corners of the surrounding rectangle. The numbers must be separated by one space as is indicated in the samples.
Sample Input
12 56
23 56
13 10
0 0
12 34
0 0
0 0
Sample Output
12 10 23 56
12 34 12 34
Source: Zhejiang University Local Contest 2004
***************************************************************************************************************
//找出最小的x,y最大的x,y输出
#include<iostream>
using namespace std;
int main()
{
int x_max,x_min,y_max,y_min;
int x,y;
bool flag1,flag2;
while(true)
{
flag1=flag2=true;
while(cin>>x>>y&&x&&y)
{
flag2=false;//标记连续输入两对0的情况
if(flag1)//输入的第一次,有别于其他
{
x_max=x_min=x;
y_max=y_min=y;
flag1=false;
continue;
}
if(x>x_max)
x_max=x;
if(x<x_min)
x_min=x;
if(y>y_max)
y_max=y;
if(y<y_min)
y_min=y;
}
if(flag2)
break;
cout<<x_min<<" "<<y_min<<" "<<x_max<<" "<<y_max<<endl;
}
return 0;
}