#XMOJ10573. 每日菜单
每日菜单
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:menu.in 输出文件:menu.out
小明是一位美食博主,他正在规划未来 $n$ 天的每日菜单。每天,他可以选择做一道主菜,或者做一道甜品,当然也可以选择点外卖休息。
他的厨房里有两类主要电器:烤箱和料理台。每天这两样电器的可用状态不同,用数字表示:
- $0$:当天烤箱和料理台都无法使用。
- $1$:仅烤箱可用(适合做甜品)。
- $2$:仅料理台可用(适合做主菜)。
- $3$:烤箱和料理台均可使用。
小明给自己定了一个原则:他不能连续两天做同一种类型的菜。也就是说,如果今天做主菜,明天就不能再做主菜;如果今天做甜品,明天就不能再做甜品。点外卖休息则没有限制。
请你帮小明计算,在这 $n$ 天里,他最少需要点多少天外卖(即没有下厨的天数),才能在不违反原则的情况下,充分利用可用的厨房电器。
输入格式
第一行是一个整数 $n$,表示规划的总天数。
第二行包含 $n$ 个整数 $a_1$、$a_2$、……、$a_n$,每个数代表当天的厨房电器可用状态,具体含义见题目描述。
输出格式
输出一个整数,表示最少需要点外卖的天数。
样例
样例 1
4
1 3 2 0
2
样例说明:可以安排第 天做甜品(烤箱可用),第 天做主菜(料理台可用)。第 天不能连续做甜品,第 天厨房完全不能用,所以这两天只能点外卖,最少点 天外卖。
样例 2
7
1 3 3 2 1 2 3
0
样例说明:
可以交替安排菜品,例如第 天甜品,第 天主菜,第 天甜品……由于每天都有至少一种电器可用,可以做到每天都下厨,因此点外卖天数为 。
样例 3
2
2 2
1
样例说明:
两天都只有料理台可用,只能做主菜。但不能连续两天都做主菜,所以其中一天必须点外卖,最少点 天外卖。
数据范围
对于 $60\%$ 的数据,$1 \le n \le 1000$
对于 $100\%$ 的数据,$1 \le n \le 10^5$
相关
在下列比赛中: