#M0001. 签到统计

    ID: 997 传统题 文件IO:signin 1000ms 512MiB 尝试: 60 已通过: 19 难度: 普及− 上传者: 标签>CSP-J复赛T1模拟字符串2026模拟

签到统计

题目描述

本题使用文件输入输出:输入文件名为 signin.in,输出文件名为 signin.out。

小 Z 所在的班级使用电子签到系统。系统记录了 yy 年全年共 nn 条签到记录,每条记录是一个形如 MM-DD 的日期(两位月份、两位日期,中间用 - 隔开,不足两位的前面补 00),表示有一名同学在这一天签了到。同一天可以有多条记录,同一名同学一天也可能签到多次。

请你统计:

  1. yy 年全年有多少天没有任何签到记录;
  2. 哪一天的签到记录最多,有多少条。如果有多天并列最多,输出其中日期最早的一天。

提示:yy 年是闰年当且仅当 yy 能被 44 整除但不能被 100100 整除,或者 yy 能被 400400 整除。闰年全年 366366 天(二月有 2929 天),平年全年 365365 天。

输入格式

输入文件名为 signin.in。

第一行两个整数 y,ny, n,表示年份和记录条数。

接下来 nn 行,每行一个形如 MM-DD 的字符串,表示一条签到记录。保证每条记录都是 yy 年里真实存在的日期。

输出格式

输出文件名为 signin.out。

第一行一个整数,表示全年没有任何签到记录的天数。

第二行一个形如 MM-DD 的日期和一个整数,中间用一个空格隔开,表示签到记录最多的那一天及其记录条数。

样例 #1

样例输入 #1

2024 7
03-01
02-29
03-01
12-31
02-29
03-01
01-01

样例输出 #1

362
03-01 3

样例解释

20242024 年是闰年,全年 366366 天。有签到记录的日期是 01-01、02-29、03-01、12-31 共 44 天,所以 366−4=362366-4=362 天没有记录。

03-01 有 33 条记录,02-29 有 22 条,其余各 11 条,所以记录最多的是 03-01。

样例 #2

样例输入 #2

1900 4
02-28
03-01
02-28
03-01

样例输出 #2

363
02-28 2

样例解释

19001900 能被 100100 整除但不能被 400400 整除,是平年,全年 365365 天,365−2=363365-2=363。

02-28 和 03-01 都有 22 条记录,输出日期更早的 02-28。

提示

数据范围

  • 对于 30%30\% 的数据:n≤100n \le 100,y=2023y = 2023;
  • 对于 60%60\% 的数据:yy 是平年;
  • 对于 100%100\% 的数据:1≤n≤1051 \le n \le 10^5,1900≤y≤21001900 \le y \le 2100,所有记录都是 yy 年中合法的日期。