[牛客暑期多校第三场][思维]H-Magic Line

https://ac.nowcoder.com/acm/contest/883/H

题意:给定N个点的坐标 N是个偶数 画一条线 要求将这N个点分开 一边一半
要求这条线不能穿过点 给出这条线上的两个左边

思路:按照X排序 取极限 具体看咖啡鸡的代码 再%一次咖啡鸡 太强了
如果两个点在同一条竖直线上 这个代码需要想明白

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int maxn = 9e8;
typedef pair<int, int> pi;
pi arr[1005];

int main() {
int n, t;
cin >> t;
while (t–) {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i].first >> arr[i].second;
}
sort(arr, arr + n);
if (arr[n / 2 - 1].first < arr[n / 2].first) {//如果中间的两个点不在同一条y上
printf(“%d %d %d %d\n”, arr[n / 2 - 1].first, maxn, arr[n / 2], -maxn);//从左上到右下(几乎还是一条竖直的线)
}
else {//在同一条Y上
printf(“%d %d %d %d\n”, arr[n / 2].first - 1, arr[n / 2].second + maxn, arr[n / 2].first + 1, arr[n / 2 - 1].second - maxn);
}
}
return 0;
}


[牛客暑期多校第三场][思维]H-Magic Line
https://47.97.0.163/2019/07/29/牛客暑期多校第三场思维h-magic-line/
作者
John Doe
发布于
2019年7月29日
许可协议