问题描述
在平面直角坐标系上有一个点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;
}