#1981. 日期修正问题

日期修正问题

题目背景

the8 在纸上写下了一个日期,形式为 MM-DD,其中 MMDD 都是两位数字,分别表示月和天。然而,这个日期并不一定存在。the8 找来了 the9,要求他更改若干位上的数字,使得这个日期存在。请你帮the9 算算他最少需要更改几位数字。

题目描述

给定一个日期字符串,形式为 MM-DD,其中 MM 表示月份,DD 表示天数。这个日期可能不存在,例如 02-3013-01。the9 需要更改这个日期中的某些数字,使得它成为一个合法的日期。请你计算the9最少需要更改多少位数字。

注意

  • 2 月固定为 28 天。
  • 合法的月份范围是 1 到 12。
  • 合法的天数范围根据月份不同而不同:
    • 1, 3, 5, 7, 8, 10, 12 月有 31 天。
    • 4, 6, 9, 11 月有 30 天。
    • 2 月有 28 天。

输入格式

输入一行,一个五个字符的字符串,表示 MM-DD

输出格式

输出一行,一个整数,表示 Bob 最少需要更改多少位数字。

样例

样例 #1

样例输入:03-32 样例输出:1

解释: 将 DD 的 3 改为 2,得到 03-22,这是一个合法的日期。

样例 #2

样例输入:02-39 样例输出:1

解释: 将 DD 的 9 改为 8,得到 02-28,这是一个合法的日期。

样例 #3

样例输入:67-89 样例输出:2

解释: 将 MM 的 6 改为 0,DD 的 9 改为 1,得到 07-01,这是一个合法的日期。

提示

  • 对于 100% 的数据,输入字符串的长度为 5,且 MMDD 都是两位数字。
  • 可能存在多种更改方式,只需要输出最少需要更改的位数。