Start: Jul, 05, 2019 08:40:00
2019年度暑期短学期达标测试
End: Jul, 05, 2019 11:40:00
Time elapsed:
Time remaining:

Problem_ID: F
Result: Accepted
Time: 7ms
Memory: 1760kB
Author: CT12810381281
In contest: 1281

#include<iostream>
#include<string>
#include<iomanip>
#include<cmath>
#include<deque>
#include<map>
#include<algorithm>
#include<cctype>
using namespace std;
map<string, int> x;
deque<pair<string, int>> r;
struct m {
	int a;
	int b;
	int min;
	int max;
};
deque<m>yz;
bool cmp1(m x, m y) {
	return x.min < y.min;
	}
bool cmp(m x, m y) {
	if(x.max == y. max)
		return cmp1(x, y);
	return x.max < y.max;
}
int main() {
	int n;
	cin >> n;
	for(int i = 0; i < n; i++) {
		m d;
		cin >> d.a >> d.b;
		if(d.a <= d.b) {
			d.min = d.a;
			d.max = d.b;
		}
		else {
			d.min = d.b;
			d.max = d.a;
		}
		yz.push_back(d);
	}
	int temp = 1;
	int flag = 0;
	for(int k = 0; k < n; k++) {
		if(flag)
			temp++;
		else
			flag = 1;
	int min = yz[0].min, max = yz[0].max;
	yz.erase(yz.begin());
	int i = 0;
	while(i < yz.size()) {
		if(yz[i].min <= min && yz[i].max <= max) {
			min = yz[i].min;
			max = yz[i].max;
			yz.erase(yz.begin() + i);
			i--;
		}
		i++;
	}
	if(yz.empty())
		break;
	}
	cout << temp;
	return 0;
}