居然是个imo题目链接 感觉应该不会再有了吧。。。。
结论就是经过某个点的直线,使得左右两侧的点个数相同
向量取\((-1,1e9)\)
#include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM HERE"<<endl; using namespace std; typedef long long ll; const int maxn=2e5+5,inf=0x3f3f3f3f,mod=998244353; const double eps=1e-6; int n; pair<int,int> pa[maxn]; signed main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&pa[i].fi,&pa[i].se); } sort(pa+1,pa+1+n); if(n%2==1){ printf("Yes\n"); printf("%d %d -1 1000000000\n",pa[n/2+1].fi,pa[n/2+1].se); }else{ printf("No\n"); } return 0; }