题目链接:好扯淡的一道题目
题意:P(x,y)表示将P沿着向量(x,y)的方向平移得到的凸多边形,如果P(x,y) 涵盖了点(0,0) (边界上也算),那么这个点就属于T,问T与P是否是相似的。
看着挺吓唬人的,其实就是判断是不是中心对称图形。
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxx=1e5+100;
struct node{
int x,y;
}p[maxx];
int n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d",&p[i].x,&p[i].y);
if(n&1) cout<<"NO"<<endl;
else
{
n>>=1;
int x=p[1].x+p[n+1].x;
int y=p[1].y+p[n+1].y;
for(int i=2;i<=n;i++)
{
if(p[i].x+p[n+i].x!=x||p[i].y+p[n+i].y!=y)
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
}
return 0;
}
努力加油a啊,(o)/~