AT_arc010_2 [ARC010B] 超大型連休

题目描述

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₁/d₁ m₂/d₂ : : mₙ/dₙ - 第 1 行给出节日的数量 N,满足 0≤N≤366。 - 第 2 行到第 N+1 行,每行给出一个节日的日期。 1. mᵢ 是第 i (1≤i≤366) 个节日的月份,满足 1≤mᵢ≤12。 2. dᵢ 是第 i (1≤i≤366) 个节日的日期, 1. 若 mᵢ=2,1≤dᵢ≤29。 2. 若 mᵢ∈{4,6,9,11},1≤dᵢ≤30。 3. 若 mᵢ∈{1,3,5,7,8,10,12},1≤dᵢ≤31。 3. mᵢ 和 dᵢ 都是整数。 4. mᵢ 和 dᵢ 必须用 `/` 分隔。 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 翻译