Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41413 stevenyu 【S】T1 C++ 解答错误 60 740 MS 1816 KB 1408 2026-04-22 19:28:16

Tests(6/10):


#include<bits/stdc++.h> using namespace std; #define int long long struct node{ int x,y; }a[100005]; int n; int t; bool cmp1(node a,node b){ return a.x+a.y<b.x+b.y; } bool cmp2(node a,node b){ return a.x-a.y<b.x-b.y; } long double res(node a,node b){ return (1.0*abs(a.x-b.x)+abs(a.y-b.y))/(1.0*sqrt(1.0*((a.x-b.x)*(a.x-b.x))+(a.y-b.y)*(a.y-b.y))); } signed main(){ cin>>t; while(t--){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y; sort(a+1,a+n+1,cmp1); bool flag=false; a[0].x=-0x5fffffff; for(int i=1;i<=n;i++){ if(a[i].x+a[i].y==a[i-1].x+a[i-1].y){ printf("%.12lf",sqrt(2.0)); flag=true; break; } } if(flag)continue; long double ans=-0x5fffffff; for(int i=2;i<=n;i++){ ans=max(ans,res(a[i],a[i-1])); } sort(a+1,a+n+1,cmp2); flag=false; a[0].x=-0x5fffffff; for(int i=1;i<=n;i++){ if(a[i].x-a[i].y==a[i-1].x-a[i-1].y){ printf("%.12lf",sqrt(2.0)); flag=true; break; } } if(flag)continue; for(int i=2;i<=n;i++){ ans=max(ans,res(a[i],a[i-1])); } printf("%.12Lf\n",ans); } return 0; }


测评信息: