#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
#include<vector>
#include<string.h>
#include<map>
#include<cmath>
#include<queue>
#define ll long long
#define INF 0x7fffffff
#define MAX 0x3f3f3f3f
#define maxn 100005
#define mem(a) memset(a,0,sizeof(a))
#define ull unsigned long long
using namespace std;
int n;
double x[310],y[310],vx[310],vy[310];
double ff(double t)
{
int i,j;
double ret=0;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
double x1=x[i]+vx[i]*t;
double y1=y[i]+vy[i]*t;
double x2=x[j]+vx[j]*t;
double y2=y[j]+vy[j]*t;
ret=max(ret,sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}
return ret;
}
double dd()
{
double l=0,r=1e6;//时间的范围
while(r-l>=1e-8)
{
double mid1=(r+l)/2;
double mid2=(r+mid1)/2;
if(ff(mid1)<ff(mid2))
r=mid2;
else
l=mid1;
}
return l;
}
int main()
{
int casee,u,T=0;
scanf("%d",&casee);
while(casee--)
{
scanf("%d",&n);
for(u=0;u<n;u++)
scanf("%lf%lf%lf%lf",&x[u],&y[u],&vx[u],&vy[u]);
double t=dd();
printf("Case #%d: %.2lf %.2lf\n",++T,t,ff(t));
}
return 0;
}
09-02
628
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-26