这是一道水题
先看看题
题目描述
给出n个闭区间,把其中有重叠的区间合并为一个区间。
例如,给出4个区间,分别是[1,3],[2,6],[8,10],[15,18]
输出有3个区间,分别是[1,6],[8,10],[15,18]
解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
例如,给出2个区间[1,4],[4,5]
输出有1个区间,是 [1,5]
解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。
输入格式
第1行:1个整数n,表示区间的数量(1 <= n <= 100)
接下来n行,每行两个整数a, b,表示区间[a, b]
输出格式
输出若干行,每行2个整数,表示一个区间。按区间的起点,终点排序输出
样例
样例输入
4
1 3
2 6
8 10
15 18
样例输出
1 6
8 10
15 18
看完题,我们可以想到其实这就是一个区间去重,凡是关于没有数据的区间,我尤其喜欢用一个bool数组来储存出现过的区间
所以就成了下面的代码
int a, b;
cin >> a >> b;
for(int i = a; i < b; i ++) {
f[i] = 1; //bool f[MAXN]