题目链接:
Aerodynamic
题目解析:
题意挺难理解的…手玩样例发现是求是否中心对称
如何验证是否中心对称呢:
- 必须是偶数个点
- 连接相对顶点的线段的中点必须重合
AC代码:
#include<bits/stdc++.h>
using namespace std;
int n,x[100010],y[100010];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>x[i]>>y[i];
if(n%2==1)
{
printf("nO\n");
return 0;
}
for(int i=1;i<=n/2;i++)
if(x[i]+x[n/2+i]!=x[1]+x[n/2+1]||y[i]+y[n/2+i]!=y[1]+y[n/2+1])
{
printf("nO\n");
return 0;
}
printf("YES\n");
return 0;
}