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 翻译