BC #68 (div.2) A

来源:互联网 发布:网络贸易 编辑:程序博客网 时间:2024/05/16 17:28


geometry

 
 Accepts: 324
 
 Submissions: 622
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)
问题描述
在平面直角坐标系上有一个点PP, 他的坐标是(x, y)(x,y). 有一条直线y = kx + by=kx+b经过了PP, 且分别交x, yx,y正半轴于A, BA,B. 求|PA| * |PB|PAPB的最小值.
输入描述
第一行一个TT, 表示数据组数.接下来TT行每行两个正整数x,yx,y, 表示PP的坐标.T=500, 0 < X, Y \leq 10000T=500,0<X,Y10000
输出描述
TT行,每行一个数字,表示每组数据的答案
输入样例
12 1
输出样例
4
Hint
样例中P(2,1)P(2,1), 取直线y = -x + 3y=x+3, 他经过了PP并分别交x, yx,y正半轴于A(3,0), B(0,3)A(3,0),B(0,3).|PA|=\sqrt{2},|PB|=2\sqrt{2},|PA||PB|=4PA=2,PB=22,PAPB=4,经验证确实是最小值.

题解:合并,化简推的结果是2*x*y



#include<iostream>#include<cstdio>#include<list>#include<algorithm>#include<queue>#include<map>#include<set>#include<cmath>#include<string>#include<cstring>#define LL long long #define N 100000#define inf 0x3f3f3f3fusing namespace std;int a[N];int main(){#ifdef CDZSC    freopen("i.txt","r",stdin);#endif    int n,x,y;    scanf("%d",&n);    while(n--)    {        scanf("%d%d",&x,&y);        printf("%d\n",2*x*y);    }    return 0;}












0 0
原创粉丝点击