Codeforces 899B Months and Years
题目大意
给定 \(n\)(\(1\le n\le 24\))个正整数 \(a_1,\dots, a_n\) 判断 \(a_1\) 到 \(a_n\) 是否可能为连续 \(n\) 个月份的天数。
解法
由于 \(n\le 24\),这 \(n\) 个月包含在至多 3 年内,而三年的可能情况有:
闰年—平年—平年
平年—闰年—平年
平年—平年—闰年
平年—平年—平年
将这四种模式合并起来:
平年—平年—平年—闰年—平年—平年
将输入月份序列在上述模式中做匹配。
比赛时我的错误做法
没有考虑到这些月份可能包含在 3 年内,误认为包含在至多两年内,故而我采用的模式为:
平年—闰年—平年—平年