题目描述
给出若干个端点为整数的区间(考虑区间端点的开闭性),请进行区间合并,将这些区间用最少的区间数量进行等价表示。
特别要注意的, [1,2) 和 [2,3] 需要合并为 [1,3] , [1,2) 和 (2,3] 不可以合并。
输入
若干行输入,每行一个区间
每行的区间由一个左括号 [ 或 ( ,一个整数 l ,一个逗号 , ,一个整数 r ,一个右括号 ] 或 ) 组成,保证 l<r
即输入的区间形式为 [l,r] , (l,r) , [l,r) , (l,r] 中的一种情况
输出
若干行输出,每行一个区间,表示区间合并后的结果,各个区间请按端点升序排列输出。
每行的区间由一个左括号 [ 或 ( ,一个整数 l ,一个逗号 , ,一个整数 r ,一个右括号 ] 或 ) 组成
样例
输入
(10,20]
(20,60)
(60,100)
[100,180]
[-201,-200)
[-210,-201]
[-222,-203]
输出
[-222,-200)
(10,60)
(60,180]
数据范围
输入的区间端点 l,r 在 int 范围内, l<r
输入区间的数量不超过 5×105 个