| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41395 | water | 【S】T1 | C++ | 解答错误 | 50 | 454 MS | 1432 KB | 1120 | 2026-04-22 18:30:37 |
#include<bits/stdc++.h> using namespace std; int T,n,flag; long double ans; struct xxs{ int x,y,z; }a[100005]; bool cmp(xxs x,xxs y){ return x.z<y.z; } int main(){ scanf("%d",&T); while(T--){ flag=0; ans=0.0; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&a[i].x,&a[i].y); a[i].z=a[i].x-a[i].y; } sort(a+1,a+n+1,cmp); for(int i=2;i<=n;i++){ if(a[i-1].z==a[i].z){ ans=3; flag=1; break; } else{ ans=max(ans,(abs(a[i].x-a[i-1].x)+abs(a[i].y-a[i-1].y))/sqrtl(1.0*abs(a[i].x-a[i-1].x)*abs(a[i].x-a[i-1].x)+1.0*abs(a[i].y-a[i-1].y)*abs(a[i].y-a[i-1].y))); } } if(flag){ printf("%.12lf\n",ans); continue; } for(int i=1;i<=n;i++){ a[i].z=a[i].x+a[i].y; } sort(a+1,a+n+1,cmp); for(int i=2;i<=n;i++){ if(a[i-1].z==a[i].z){ ans=3; flag=1; break; } else{ ans=max(ans,(abs(a[i].x-a[i-1].x)+abs(a[i].y-a[i-1].y))/sqrtl(1.0*abs(a[i].x-a[i-1].x)*abs(a[i].x-a[i-1].x)+1.0*abs(a[i].y-a[i-1].y)*abs(a[i].y-a[i-1].y))); } } printf("%.12Lf\n",ans); } return 0; }