#abc0014. [abc001_4]感雨時刻の整理

[abc001_4]感雨時刻の整理

注意

此问题是一个旧问题。如果要练习过去的问题,请建议从最新的AtCoder Beginner Contest开始。

题目描述

降雨时间与降水量一样重要。现在,我找到了关于某一天降雨时间的备忘录,我想整理一下并查找降雨时间。

整理规则如下:

  • 根据记载的感雨时间,按照时间顺序列出一天内降雨的时间。跨越日期的降雨将被视为当天的 00:0000:00 开始下雨和 24:0024:00 结束下雨,并且不会输入跨越日期的备忘录。
  • 降雨开始时间和结束时间分别舍入到前后 55 分钟的时间间隔。例如,从 13:2313:23 开始下雨到 14:0114:01 结束下雨,则认为它从 13:2013:2014:0514:05 一直在下雨。
  • 在舍入后的结果中,如果有多个备忘录中的感雨时间重叠,则视为一段连续的降雨。例如,如果有三个备忘录分别为 11:0611:06 开始到 11:2311:23 结束的降雨,11:2911:29 开始到 12:0312:03 结束的降雨,11:4811:48 开始到 12:1012:10 结束的降雨,则它们构成了 33 段降雨:从 11:0511:0511:2511:25,从 11:2511:2512:0512:05,从 11:4511:4512:1012:10,但是因为时间重叠,它们被合并成一段连续的降雨,即从 11:0511:0512:1012:10

当输入备忘录内容时,请编写一个程序来整理并输出符合这些规则的降雨时间。


输入

输入从标准输入中给出,具体格式如下。NN S1S_1-E1E_1 S2S_2-E2E_2 : SNS_N-ENE_N

  1. 11 行包含正整数 N(1N30,000)N\\ (1≦N≦30,000),表示连续的降雨时间段的数量。
  2. 22 行到第 N+1N+1 行共 NN 行,每行给出降雨开始时间和结束时间。
  • 在第 i(1iN)i\\ (1≦i≦N) 行中,降雨开始时间 SiS_i 和降雨结束时间 EiE_i 由连字符分隔。

  • 时间 SiS_iEiE_i 满足以下条件:

    • 时间是一个 44 位非负整数。
    • 时间的前 22 位表示小时 (rmhour)(\\rm hour),后 22 位表示分钟 (rmminute)(\\rm minute)
    • 时间的取值范围为 0000000024002400,但后 22 位不会超过 5959
    • 保证 SiS_iEiE_i 之前。

输出

整理降雨时间,并按照开始时间的早晚顺序,以开始时间和结束时间用连字符分隔的形式输出。
输出时,将连续的一段降雨输出为一行,时间的格式与输入相同。
输出末尾要换行。


输入示例 1


4
1148-1210
1323-1401
1106-1123
1129-1203
  • 11:4811:4812:1012:10 之间下雨。
  • 13:2313:2314:0114:01 之间下雨。
  • 11:0611:0611:2311:23 之间下雨。
  • 11:2911:2912:0312:03 之间下雨。

输出示例 1


1105-1210
1320-1405
  • 将输入时间舍入到 55 分钟的间隔后,按照顺序依次为 11451145-1210121013201320-1405140511051105-1125112511251125-12051205
  • 按照开始时间的早晚顺序重排后,得到 11051105-1125112511251125-1205120511451145-1210121013201320-14051405
  • 11051105-1125112511251125-12051205 两段降雨,前者的结束时间和后者的开始时间相同,所以合并为 11051105-12051205
  • 此外,11051105-1205120511451145-12101210 之间有时间重叠,所以合并为 11051105-12101210
  • 因此,最终输出如示例中所示。
  • 注意,输出必须按照降雨时间的早晚顺序排列。

输入示例 2


1
0000-2400

输出示例 2


0000-2400
  • 在整个一天都下雨的情况下。

输入示例 3


6
1157-1306
1159-1307
1158-1259
1230-1240
1157-1306
1315-1317
  • 可能存在多个相同的备忘录。

输出示例 3


1155-1310
1315-1320