hdu 1859 hdoj 1859

最小長方形

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4608    Accepted Submission(s): 2551


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
 
#include<iostream>
using namespace std;

int main(){
    int largex,largey,smallx,smally,x,y;
    while(cin>>x>>y,x!=0||y!=0){
        largex=x,smallx=x;
        largey=y,smally=y;
        while(cin>>x>>y,x!=0||y!=0){
            if(x>largex) largex=x;
            if(x<smallx) smallx=x;
            if(y>largey) largey=y;
            if(y<smally) smally=y;
        }
        cout<<smallx<<' '<<smally<<' '<<largex<<' '<<largey<<endl;
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章