AT_test001_d 超大型連休

题目描述

2011 年,AtCoder 国的高桥首相做出了一个重大决定。 这个决定就是……修订法律。修改了关于国民节日的法律,增加了假期!! 尊重国民创造性的这一决定,使霞关变成了魔境! 你是霞关国土交通省的职员,由于这次法律修订,上司给你分配了新的任务。 这个任务就是,计算 2012 年的“最长连续假期天数”。 通过提前计算连续假期的长度,可以预测国民的行动,适时对高速公路进行部分降价,从而激活经济。 因此,你绝不能失败,否则将无法准确预测国民的行为。 下面给出“连续假期”的定义及注意事项。 1. AtCoder 国采用的历法遵循[格里高利历](http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6)。 2. “连续假期”是指“假日”连续出现的天数。 3. “星期六”“星期日”“节日”“补休日”都属于“假日”。 4. 如果“节日”与其他假日重叠,必须设置“补休日”。 5. “补休日”按照节日的时间顺序依次确定,设为该节日之后最近的工作日(即非假日的日子)。 6. 2012 年 1 月 1 日是星期日。 输入按以下格式从标准输入给出。 > $N$ $m_{1}/d_{1}$ $m_{2}/d_{2}$ $:$ $:$ $m_{n}/d_{n}$ - 第 1 行给出节日的数量 $N$,满足 $0 \leq N \leq 366$。 - 第 2 行到第 $N+1$ 行,每行给出一个节日的日期。 1. $m_{i}$ 表示第 $i$ 个节日的月份,满足 $1 \leq m_{i} \leq 12$。 2. $d_{i}$ 表示第 $i$ 个节日的日期, 1. 当 $m_{i} = 2$ 时,$1 \leq d_{i} \leq 29$。 2. 当 $m_{i} = 4, 6, 9, 11$ 时,$1 \leq d_{i} \leq 30$。 3. 当 $m_{i} = 1, 3, 5, 7, 8, 10, 12$ 时,$1 \leq d_{i} \leq 31$。 3. $m_{i}$ 和 $d_{i}$ 都是整数。 4. $m_{i}$ 和 $d_{i}$ 必须用 `/` 分隔。 5. 注意,节日的输入顺序不一定是时间顺序。但保证不会有重复的日期。 请输出法律修订后 2012 年的最长连续假期天数。 输出到标准输出,末尾需换行。 ``` 1 1/9 ``` ``` 3 ``` - 1/7(星期六)、1/8(星期日)、1/9(星期一)的 3 天连休为最长。 ``` 1 1/10 ``` ``` 2 ``` - 1/10(星期二)为节日,1/7(星期六)、1/8(星期日)等 2 天连休为最长。 ``` 1 1/7 ``` ``` 3 ``` - 1/7 是星期六,因此最近的工作日 1/9 设为补休日。 - 所以 1/7(星期六)、1/8(星期日)、1/9(星期一)为 3 天连休。 ``` 2 1/7 1/9 ``` ``` 4 ``` - 1/7 是星期六,因此需要在之后设置补休日,1/9 是节日,所以 1/10 设为补休日。 - 所以 1/7(星期六)、1/8(星期日)、1/9(星期一)、1/10(星期二)为 4 天连休。

输入格式

第 1 行:一个整数 $N$,表示节日的数量。 接下来 $N$ 行:每行一个字符串 $m_{i}/d_{i}$,表示节日的日期。

输出格式

输出一个整数,表示 2012 年最长连续假期的天数。末尾需换行。

说明/提示

由 ChatGPT 4.1 翻译