Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
60359 MattL S1 C++ 通过 100 127 MS 252 KB 941 2022-10-15 11:28:00

Tests(10/10):


#include<bits/stdc++.h> using namespace std; int read() { int x=0; bool f=false; char t=getchar(); while(t<'0'||t>'9')f^=(t=='-'),t=getchar(); while(t>='0'&&t<='9')x=(x<<1)+(x<<3)+(t^48),t=getchar(); return f?-x:x; } double dis(double q,double p,double qq,double pp) { return sqrt(abs(q-qq)*abs(q-qq)+abs(p-pp)*abs(p-pp)); } double t,x,y,xx,yy,xxx,yyy,r,minn,maxn,xxxx,yyyy,a,b,c,d,dianx,diany; int main() { // freopen("S1.in","r",stdin); // freopen("S1.out","w",stdout); t=read(); while(t--) { x=read(),y=read(),xx=read(),yy=read(),xxx=read(),yyy=read(),r=read(); maxn=max(dis(x,y,xxx,yyy),dis(xx,yy,xxx,yyy)); if(x==xx) dianx=x,diany=yyy; else if(y==yy) dianx=xxx,diany=y; else { a=(y-yy)/(x-xx),b=y-a*x,c=-1/a,d=yyy-c*xxx; dianx=(b-d)/(c-a); diany=dianx*a+b; } minn=dis(dianx,diany,xxx,yyy); printf("%.2lf %.2lf\n",minn-r,maxn+r); } return 0; }


测评信息: