杭電 HDU ACM 1859 最小長方形
最小長方形
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8100 Accepted Submission(s): 4394
Problem Description 給定一系列2維平面點的坐標(x, y),其中x和y均為整數,要求用一個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y坐標軸,點落在邊上也算是被框在內。
Input 測試輸入包含若干測試用例,每個測試用例由一系列坐標組成,每對坐標占一行,其中|x|和|y|小於 231;一對0 坐標標志著一個測試用例的結束。注意(0, 0)不作為任何一個測試用例裡面的點。一個沒有點的測試用例標志著整個輸入的結束。
Output 對每個測試用例,在1行內輸出2對整數,其間用一個空格隔開。第1對整數是長方形框左下角的坐標,第2對整數是長方形框右上角的坐標。
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 浙大計算機研究生復試上機考試-2007年 大半夜的這個題可氣人了 ,以前循環喜歡這樣寫 while(cin>>x>>y,x+y)可這次非得這樣寫while((cin>>x>>y)&&(x||y));媽的蛋 浪費太多時間發現她,就是不知道為啥。 以前也沒錯過啊!
AC一:
#include
#include
using namespace std;
int ls[100000], gq[100000];
int main()
{
int i=0;
while((cin>>ls[i]>>gq[i])&&(ls[i]||gq[i]))
{
i++;
while((cin>>ls[i]>>gq[i])&&(ls[i]||gq[i]))
i++;
sort(ls,ls+i);
sort(gq,gq+i);
cout<