提交时间:2026-04-22 18:38:13
运行 ID: 41401
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll N = 1e5+5; struct sss{ll num,id;}; ll t,n,x[N],y[N]; sss c[N],d[N]; bool cmp(sss x,sss y){return x.num<y.num;} long double get(ll i,ll j){ return ((long double)(abs(x[i]-x[j])+abs(y[i]-y[j]))/1.0)/sqrtl((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); } int main(){ //freopen("pair.in","r",stdin); //freopen("pair.out","w",stdout); scanf("%lld",&t); while(t--){ scanf("%lld",&n); for(ll i = 1;i<=n;i++){ scanf("%lld%lld",&x[i],&y[i]); c[i]={x[i]-y[i],i}; d[i]={x[i]+y[i],i}; } sort(c+1,c+n+1,cmp); sort(d+1,d+n+1,cmp); long double ans = 0; for(ll i = 1;i<n;i++){ ans = max(ans,get(c[i].id,c[i+1].id)); ans = max(ans,get(d[i].id,d[i+1].id)); } printf("%.10Lf\n",ans); } }