#2086. 日期排序与统计
日期排序与统计
题目描述
你需要编写一个 C++ 程序,该程序能够处理一系列日期和事件描述的记录。每个记录包含一个日期和与之关联的事件描述。你的程序需要完成以下任务:
- 按照日期的先后顺序对事件进行排序,并输出排序后的结果。
- 统计每个月发生的事件数量,并输出统计结果。
输入格式
输入包含多行,每行代表一条记录。每条记录由日期和事件描述组成,日期和事件描述之间用一个空格分隔。日期的格式为 YYYY-MM-DD,其中 YYYY 表示年份(范围为 1900 - 2100),MM 表示月份(范围为 01 - 12),DD 表示日期(范围根据月份和是否为闰年有所不同)。事件描述是一个字符串,可能包含多个单词。
输出格式
输出分为两部分:
- 按日期排序的事件列表:
首先输出
Events sorted by date
:,然后按照日期的先后顺序,每行输出一个事件,格式为 日期: 事件描述。 - 每月事件统计:
输出
Events per month
:,然后按照年月的顺序,每行输出一个月的事件统计信息,格式为 YYYY-MM: 事件数量。
样例 #1
样例输入 #1
2023-01-15 Meeting
2023-01-20 Presentation
2023-02-05 Workshop
样例输出 #1
Events sorted by date:
2023-01-15: Meeting
2023-01-20: Presentation
2023-02-05: Workshop
Events per month:
2023-01: 2
2023-02: 1
数据范围
年份范围:1900 ≤ YYYY ≤ 2100
月份范围:01 ≤ MM ≤ 12
日期范围:根据月份和是否为闰年确定,如 1 月、3 月、5 月、7 月、8 月、10 月、12 月为 01 - 31;4 月、6 月、9 月、11 月为 01 - 30;2 月在平年为 01 - 28,闰年为 01 - 29。
输入记录数量不超过 1000 条。
相关
在以下作业中: