AT_test001_d.超大型連休

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

2011 年,AtCoder 国的高桥首相做出了一个重大决定。
这个决定就是……修订法律。修改了关于国民节日的法律,增加了假期!!
尊重国民创造性的这一决定,使霞关变成了魔境!

你是霞关国土交通省的职员,由于这次法律修订,上司给你分配了新的任务。
这个任务就是,计算 2012 年的“最长连续假期天数”。
通过提前计算连续假期的长度,可以预测国民的行动,适时对高速公路进行部分降价,从而激活经济。
因此,你绝不能失败,否则将无法准确预测国民的行为。

下面给出“连续假期”的定义及注意事项。

  1. AtCoder 国采用的历法遵循格里高利历。
  2. “连续假期”是指“假日”连续出现的天数。
  3. “星期六”“星期日”“节日”“补休日”都属于“假日”。
  4. 如果“节日”与其他假日重叠,必须设置“补休日”。
  5. “补休日”按照节日的时间顺序依次确定,设为该节日之后最近的工作日(即非假日的日子)。
  6. 2012 年 1 月 1 日是星期日。

输入按以下格式从标准输入给出。 > NN m1/d1m_{1}/d_{1} m2/d2m_{2}/d_{2} :: :: mn/dnm_{n}/d_{n}

  • 第 1 行给出节日的数量 NN,满足 0≤N≤3660 \leq N \leq 366。
  • 第 2 行到第 N+1N+1 行,每行给出一个节日的日期。
  1. mim_{i} 表示第 ii 个节日的月份,满足 1≤mi≤121 \leq m_{i} \leq 12。
  2. did_{i} 表示第 ii 个节日的日期,
    1. 当 mi=2m_{i} = 2 时,1≤di≤291 \leq d_{i} \leq 29。
    2. 当 mi=4,6,9,11m_{i} = 4, 6, 9, 11 时,1≤di≤301 \leq d_{i} \leq 30。
    3. 当 mi=1,3,5,7,8,10,12m_{i} = 1, 3, 5, 7, 8, 10, 12 时,1≤di≤311 \leq d_{i} \leq 31。
  3. mim_{i} 和 did_{i} 都是整数。
  4. mim_{i} 和 did_{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 行:一个整数 NN,表示节日的数量。
接下来 NN 行:每行一个字符串 mi/dim_{i}/d_{i},表示节日的日期。

输出格式

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

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页