感雨時刻の整理AI (CI翻译)
1
- 感雨時間のメモから、その日
$1$日の雨の降っていた時刻を時系列順に出す。日付を超えて降っている雨は、$00:00$降り始めや$24:00$降り終わりとして扱われるものとし、日付をまたぐようなメモは入力されない。 - 雨の降り始め・降り終わりはそれぞれ直前・直後の
$5$分単位の時刻に丸める。例えば、$13:23$に降り始めて$14:01$にやんだ雨は、$13:20$から$14:05$まで降っていたということにする。 - 丸めた後の結果において、
$2$つ以上のメモに書かれていた感雨時刻が重複した場合、$1$つの連続した雨とみなす。例えば、$11:06$に降り始めて$11:23$にやんだ雨、$11:29$に降り始めて$12:03$にやんだ雨、$11:48$に降り始めて$12:10$にやんだ雨の$3$つがあった場合、$11:05$〜$11:25$、$11:25$〜$12:05$、$11:45$〜$12:10$の$3$つの雨であるが、時間がかぶっているところをくっつけて$11:05$から$12:10$まで降っていた、$1$つの連続した雨ということにする。
N
S_1-E_1
S_2-E_2
:
S_N-E_N
$1$行目には、連続して雨の降っていた時刻の数を表す整数$N\ (1≦N≦30,000)$が与えられる。$2$行目から$N+1$行目までの$N$行で、雨の降り始めの時刻と降り終わりの時刻が与えられる。
1
1
4
1148-1210
1323-1401
1106-1123
1129-1203
$11:48$〜$12:10$の間、雨が降っていた。$13:23$〜$14:01$の間、雨が降っていた。$11:06$〜$11:23$の間、雨が降っていた。$11:29$〜$12:03$の間、雨が降っていた。
1105-1210
1320-1405
- 入力を
$5$分単位に丸めると、順に$1145$-$1210$、$1320$-$1405$、$1105$-$1125$、$1125$-$1205$となる。 - これを降り始めの時刻の早い順に直すと、
$1105$-$1125$、$1125$-$1205$、$1145$-$1210$、$1320$-$1405$となる。 $1105$-$1125$、$1125$-$1205$の$2$つは、前者の降り終わりの時刻と後者の降り始めの時刻が一致するので、くっついて$1105$-$1205$となる。- さらに、
$1105$-$1205$と、$1145$-$1210$は、後者の降り始めの時刻が前者の降っている時刻の間に入るので、くっついて$1105$-$1210$となる。 - そのため、結局この例のような出力となる。
- なお、出力は雨の降った時刻の早い順でなければならない。
1
0000-2400
0000-2400
- 一日中雨が降っている場合である。
6
1157-1306
1159-1307
1158-1259
1230-1240
1157-1306
1315-1317
- 全く同じメモが複数存在する場合もある。
1155-1310
1315-1320
{"titleZh":"整理降雨时刻","bodyZh":"## 题目描述\n\n- 根据降雨时间的记录,按时间顺序输出当天降雨的时刻。对于跨越日期的降雨,将其视为从 $00:00$ 开始或在 $24:00$ 结束,输入中不会出现跨越日期的记录。\n- 降雨开始和结束的时刻,分别向前、向后取整到相邻的 $5$ 分钟时刻。例如,$13:23$ 开始、$14:01$ 结束的降雨,视为从 $13:20$ 持续到 $14:05$。\n- 取整后,如果 $2$ 条以上记录中的降雨时刻发生重叠,则将其视为一场连续的降雨。例如,存在以下 $3$ 场降雨:$11:06$ 开始、$11:23$ 结束;$11:29$ 开始、$12:03$ 结束;$11:48$ 开始、$12:10$ 结束。取整后分别为 $11:05$〜$11:25$、$11:25$〜$12:05$、$11:45$〜$12:10$。将重叠的部分合并后,视为从 $11:05$ 到 $12:10$ 的 $1$ 场连续降雨。\n\n## 输入格式\n\n"}AI (CI翻译)\nN\nS_1-E_1\nS_2-E_2\n:\nS_N-E_N\n`\n\n1. 第 $1$ 行给出一个整数 $N\ (1≦N≦30,000)$,表示连续降雨时段的数量。\n2. 接下来 $N$ 行(第 $2$ 行至第 $N+1$ 行)给出降雨开始时刻和结束时刻。\n\n## 输出格式\n\n## 样例\n\n`\n4\n1148-1210\n1323-1401\n1106-1123\n1129-1203\n`\n\n- 在 $11:48$〜$12:10$ 期间下雨。\n- 在 $13:23$〜$14:01$ 期间下雨。\n- 在 $11:06$〜$11:23$ 期间下雨。\n- 在 $11:29$〜$12:03$ 期间下雨。\n\n`\n1105-1210\n1320-1405\n`\n\n- 将输入按 $5$ 分钟取整后,依次为 $1145$-$1210$、$1320$-$1405$、$1105$-$1125$、$1125$-$1205$。\n- 按降雨开始时刻从早到晚排序后,变为 $1105$-$1125$、$1125$-$1205$、$1145$-$1210$、$1320$-$1405$。\n- $1105$-$1125$ 和 $1125$-$1205$ 这 $2$ 个时段,由于前者的结束时刻与后者的开始时刻一致,因此合并为 $1105$-$1205$。\n- 进一步地,$1105$-$1205$ 与 $1145$-$1210$ 也应合并,因为后者的开始时刻处于前者的降雨时段内,合并后为 $1105$-$1210$。\n- 因此,最终得到如本例所示的输出。\n- 另外,输出必须按照降雨时刻从早到晚的顺序排列。\n\n`\n1\n0000-2400\n`\n\n`\n0000-2400\n`\n\n- 这表示全天都在下雨。\n\n`\n6\n1157-1306\n1159-1307\n1158-1259\n1230-1240\n1157-1306\n1315-1317\n`\n\n- 可能存在完全相同的多条记录。\n\n`\n1155-1310\n1315-1320\n
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(gpt-6.1-sol),如有出入请以原文为准。