#496. 自律挑战

自律挑战

问题描述

小明决定好好安排自己接下来 nn 天的生活。他每天有三种选择:

  1. 去书店看书(仅限书店营业时)
  2. 去体育馆打球(仅限体育馆开放时)
  3. 在家看电视(保底选择)

每天的营业情况用一个数组 a1,a2,,ana_1, a_2, \ldots, a_n 表示,其中:

  • ai=0a_i = 0:书店和体育馆都关闭
  • ai=1a_i = 1:书店关闭,体育馆开放
  • ai=2a_i = 2:书店营业,体育馆关闭
  • ai=3a_i = 3:书店和体育馆都开放

小明的活动规则:

  • 不能连续两天看书(保护视力)
  • 不能连续两天打球(避免运动损伤)

目标: 在遵守以上规则的前提下,尽量减少在家看电视的天数

输入格式

  • 第一行:天数 nn
  • 第二行:nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n

输出格式

一个整数,表示小可最少需要在家看电视的天数

样例输入

4
1 3 2 0

样例输出

2

样例输入

7
1 3 3 2 1 2 3

样例输出

0

说明

  • 11天:打球(a1=1a_1=1

  • 22天:看书(a2=3a_2=3,不能连续两天打球)

  • 33天:必须在家(a3=2a_3=2,前一天看书,今天不能再看书)

  • 44天:在家(a4=0a_4=0,没地方可去)

    最少在家天数:22

数据范围

  • 33个测试点:1n101 \leq n \leq 10
  • 所有测试点:1n1051 \leq n \leq 10^50ai30 \leq a_i \leq 3