geometry

問題描述

在平面直角座標系上有一個點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;
}



發佈了20 篇原創文章 · 獲贊 21 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章