由于乐乐出色的完成了今年的任务,老板奖励给乐乐n天的假期!乐乐还想在假期里提高编程能力(脑力)和身体素质(体力)。 乐乐已经知道这n天里每天的信息:当天的健身房是否开放、当天是否可在网上进行编程比赛。每天只能提供的如下信息:
0:在这一天,健身房关门,网上没有编程比赛;
1:在这一天,健身房关门,网上有编程比赛;
2:在这一天,健身房开放,网上没有编程比赛;
3:在这一天,健身房开放,网上有编程比赛;
每一天,乐乐只能选择做一件事情:要么休息或要么进行编程比赛或要么在健身房做运动。
你的任务是找到一种安排方案使得乐乐休息的天数最少。(注:某一天他只能做一件事情)。 但有一个条件:他不想连续两天做同样的活动(也就是说不能连续两天进行编程比赛,也不能连续两天在健身房里做运动。)
输入
第一行输入正整数n(1≤n≤100),表示乐乐假期的总天数。
第二天输入整数序列b1,b2,...,bn(0≤bi≤3),其中:
bi=0:在这一天,健身房关门,网上没有编程比赛;
bi=1:在这一天,健身房关门,网上有编程比赛;
bi=2:在这一天,健身房开放,网上没有编程比赛;
bi=3:在这一天,健身房开放,网上有编程比赛。
输出
输出乐乐最少休息多少天(提示:乐乐拒绝做这两件事情, 一、连续两天做运动,二、连续两天进行编程比赛)。
样例输入
4
1 3 2 0
样例输出
2
提示
样例一:在第1天进行编程比赛,并在第3天做运动。因此,他将只休息2天。
样例二:在第1,3,5和7天进行编程比赛,在其他日子做运动,因此,他一天也不休息。
样例三:在第1天或第2天做运动,因为他不能在两天里连续做运动,他不喜欢这样做,因为他将休息一天。