#P379. 【新男人八题】Intervals

【新男人八题】Intervals

令区间 $[s,t]$ 表示在 $s$ 和 $t$ 之间(包含 $s$ 和 $t$)的整数集合。给定一个包含 $n$ 个区间的集合 $A=\{[s_i,t_i]\}$,求一个区间集合 $B$(不必是 $A$ 的子集),使得每个 $[s_i,t_i]\in A$ 都能表示为 $B$ 中若干个区间的并集。目标是最小化 $B$ 中的区间个数。

输入格式

输入包含最多 $100$ 组测试数据。每组数据第一行包含一个整数 $n$,接下来 $n$ 行,每行包含两个整数 $s_i$ 和 $t_i$,中间由一个空格分隔。

输出格式

对于每组测试数据,第一行输出一个整数 $m$,表示区间个数。接下来 $m$ 行,第 $j$ 行输出两个整数 $s_j$ 和 $t_j$ 表示一个区间,区间可以按照任意顺序输出。如果存在多种区间数相同的方案,输出任意一种均可。

2
1 2
3 4
3
1 2
3 4
1 4
7
5 9
0 6
4 8
3 7
0 5
7 9
4 6
2
1 2
3 4
2
1 2
3 4
5
0 5
4 6
3 7
5 8
7 9

限制与约定

$1\le n\le 1000$,$0\le s_i\le 10^9$。

时间限制:$1\texttt{s}$

空间限制:$256\texttt{MB}$