1. 程式人生 > >最小長方形C語言

最小長方形C語言

最小長方形C語言

給定一系列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 <stdio.h>

#define N 231

int Lmin,Lmax,Rmin,Rmax;

void init(){

         Lmin=N;

         Lmax=-N;

         Rmin=N;

         Rmax=-N;

}

int main(){

init();

         while(1){
         
                  inta,b,a1,b1;

                  scanf("%d %d",&a,&b);

                  if(a==a1&&b==b1&&a==0&&b==0){

		    return 0;

                          }

                  a1=a;
                  b1=b;                  
                  if(a==0&&b==0){                  
                          printf("%d%d %d %d\n",Lmin,Rmin,Lmax,Rmax);
                          init();
                         continue;

                  }

                  if(a<Lmin)Lmin=a;

                  if(b<Rmin)Rmin=b;

                  if(a>Lmax)Lmax=a;

                  if(b>Rmax)Rmax=b;

 

         }

}