hdoj 5605 || bc #68 div 2 1001 geometry
题意: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|∣PA∣∗∣PB∣的最小值. 输入描述 第一行一个TT, 表示数据组数. 接下来TT行每行两个正整数x,yx,y, 表示PP的坐标.
T=500, 0 < X, Y \leq 10000T=500,0/* *********************************************** Author :111qqz Created Time :2016年01月02日 星期六 18时56分10秒 File Name :code/bc/#68/1001.cpp ************************************************ */
#include
using namespace std; const double eps = 1E-8; const int dx4[4]={1,0,0,-1}; const int dy4[4]={0,-1,1,0}; const int inf = 0x3f3f3f3f; LL x,y; LL b; LL dis(LL a1,LL b1,LL a2,LL b2) { LL res = (a1-a2)(a1-a2)+(b1-b2)(b1-b2); return res; } int main() { #ifndef ONLINE_JUDGE // freopen("code/in.txt","r",stdin); #endif int T; cin>>T; while (T--) { scanf("%lld %lld",&x,&y); b = x + y; LL ans; ans = dis(x,y,0,b)*dis(x,y,b,0); cout<<LL(sqrt(ans))<<endl;
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
return 0;
}