| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41339 | 黄子睿 | 【S】T1 | C++ | 解答错误 | 0 | 493 MS | 1044 KB | 922 | 2026-04-16 13:57:32 |
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int t,n; struct wsw{ int x,y; }num[N]; long double dis(wsw x,wsw y){ long double dis1=abs(x.x-y.x)+abs(x.y-y.y); long double dis2=sqrt((abs(x.x-y.x)*abs(x.x-y.x))+(abs(x.y-y.y)*abs(x.y-y.y))); return (dis1/dis2); } int vis[N][2]; bool cmp1(wsw x,wsw y){ return (x.x+x.y)<(y.x+y.y); } bool cmp2(wsw x,wsw y){ return (x.x-x.y)<(y.x-y.y); } int main(){ scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&num[i].x,&num[i].y); long double ans=0; sort(num+1,num+n+1,cmp1); for(int i=1;i<n;i++){ ans=max(ans,dis(num[i],num[i+1])); } sort(num+1,num+n+1,cmp2); for(int i=1;i<n;i++){ ans=max(ans,dis(num[i],num[i+1])); } printf("%.10Lf\n",ans); } return 0; }