题目链接:http://codeforces.com/contest/1028/problem/C

        题意是给了n个矩形,任意输出一个被n-1个矩形所覆盖的点的坐标。

       这道题和上一场的div3的C题是一个题型,只不过是由一维推到了二维,没做过那道题的可以先去看一下那道题 Codeforces Round #506 (Div. 3) C. Maximal Intersection。这道题我们首先要知道对于n个矩形的交集应该等于最大的x,y要小于等于最小的_x,_y,那么他们的交集就是(x,y)到(_x,_y)。


AC代码:

#include <bits/stdc++.h>
#define maxn 140005
using namespace std;
multiset<int> x,y,_x,_y;
int a[maxn],b[maxn],_a[maxn],_b[maxn];
int n;

int main()
{
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d%d%d%d",&a[i],&b[i],&_a[i],&_b[i]);
		x.insert(a[i]);
		y.insert(b[i]);
		_x.insert(_a[i]);
		_y.insert(_b[i]);
	}
	for(int i=0;i<n;i++){
		x.erase(x.find(a[i]));
		y.erase(y.find(b[i]));
		_x.erase(_x.find(_a[i]));
		_y.erase(_y.find(_b[i]));
		if(*x.rbegin() <= *_x.begin() && *y.rbegin() <= *_y.begin()){
			printf("%d %d\n",*_x.begin(),*_y.begin());
			return 0;
		}
		x.insert(a[i]);
		y.insert(b[i]);
		_x.insert(_a[i]);
		_y.insert(_b[i]);
	}
	return 0;
}