問題描述
在平面直角座標系上有一個點P, 他的座標是(x,y). 有一條直線y=kx+by經過了P,
且分別交x,y正半軸於A,B. 求∣PA∣∗∣PB∣的最小值.
輸入描述
第一行一個T, 表示數據組數.
接下來T行每行兩個正整數x,y, 表示P的座標.
T=500,0<X,Y≤10000
輸出描述
TTT行,每行一個數字,表示每組數據的答案
輸入樣例
1
2 1
輸出樣例
4
Hint
樣例中P(2,1)P(2,1)P(2,1), 取直線y=−x+3y = -x + 3y=−x+3, 他經過了PPP並分別交x,yx, yx,y正半軸於A(3,0),B(0,3)A(3,0), B(0,3)A(3,0),B(0,3).
∣PA∣=2,∣PB∣=22,∣PA∣∣PB∣=4|PA|=\sqrt{2},|PB|=2\sqrt{2},|PA||PB|=4∣PA∣=√2,∣PB∣=2√2,∣PA∣∣PB∣=4,經驗證確實是最小值.
這道題需要的是證明怎樣的情況可以得到最小值,如圖:
可以得到cos a = x/|PB|,sin a = y/|PA|,則|PA|*|PB| = 2xy/sin 2a;
因爲sin2a<=1,所以當sin2a=1時,答案最小爲2xy。
#include <stdio.h>
int main ( )
{
int T, x, y;
scanf ( "%d", &T );
while ( T -- )
{
scanf ( "%d%d", &x, &y );
printf ( "%d\n", x*y*2 );
}
return 0;
}