Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41400 water 【S】T1 C++ 通过 100 441 MS 1432 KB 1138 2026-04-22 18:34:45

Tests(10/10):


#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=sqrtl(2.0); 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("%.10Lf\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=sqrtl(2.0); 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("%.10Lf\n",ans); } return 0; }


测评信息: