①有偶数个点
②所有第 i 个点和第 n/2+i 的中点的位置都一样
// Created by CAD on 2020/2/11.
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
double x[maxn],y[maxn];
int main()
{
int n;cin>>n;
for(int i=1;i<=n;++i)
cin>>x[i]>>y[i];
if(n&1) return puts("NO");
else{
double mx=(x[1]+x[n/2+1])/2.0,my=(y[1]+y[n/2+1])/2.0;
for(int i=2;i<=n/2;++i){
double tx=(x[i]+x[n/2+i])/2.0,ty=(y[i]+y[n/2+i])/2.0;
if(tx!=mx||ty!=my) return puts("NO");
}
return puts("YES");
}
}
原文:https://www.cnblogs.com/CADCADCAD/p/12295188.html