最小長方形C語言
阿新 • • 發佈:2018-10-31
最小長方形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; } }