第 1 场 AtCoder Beginner Contest
D
感雨時刻の整理
AtCoder
⌀ 1565
原题
← C→

感雨時刻の整理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. $1$ 行目には、連続して雨の降っていた時刻の数を表す整数 $N\ (1≦N≦30,000)$ が与えられる。
  2. $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\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"}AI (CI翻译)

题目信息
题号
abc001_4
时间限制
2 s
内存限制
64 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(gpt-6.1-sol),如有出入请以原文为准。