原本把奇数个点排除就WA了四个,注释掉就AC
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct Point
{
int x, y;
};
Point S[20000];
int main()
{
int N;
cin >> N;
*/ if (N % 2 == 1)
goto Fail;
*/ {
long double Cx = 0, Cy = 0;
for (int i = 0; i < N; i++)
cin >> S[i].x >> S[i].y, Cx += S[i].x, Cy += S[i].y;
Cx /= N, Cy /= N;
sort(S, S + N, [](const Point & a, const Point & b){return a.x < b.x || (a.x == b.x && a.y < b.y);});
for (int i = 0; i < N / 2; i++)
{
if (abs(Cx * 2 - S[i].x - S[N - 1 - i].x) > 1e-5 || abs(Cy * 2 - S[i].y - S[N - 1 - i].y) > 1e-5)
goto Fail;
}
printf("V.I.P. should stay at (%.1Lf,%.1Lf).", Cx, Cy);
return 0;
}
Fail:
cout << "This is a dangerous situation!";
return 0;
}