#2010. 旋转问题

旋转问题

题目描述

你有 nn 个石像,每个石像都有一个鼻子。每个石像可以朝向四个方向之一:前(front)、右(right)、后(back)、左(left)。

每次操作可以选择以下两种方式之一:

  • 按下某个石像的鼻子:使除它以外的所有石像顺时针旋转 9090^\circ
  • 按下自己的鼻子:使所有石像(包括它自己)都顺时针旋转 9090^\circ

顺时针旋转的顺序为:前 \to\to\to\to 前。

请你求出,将所有石像都调整为朝前所需的最少操作次数。


输入格式

从标准输入按以下格式读取数据:

nn

a1a_1 a2a_2 \dots ana_n

其中:

  • 第一行输入一个整数 nn,表示石像数量。
  • 第二行输入 nn 个整数 aia_i,表示各石像的初始朝向。
  • 其中 ai{0,1,2,3}a_i \in \{0,1,2,3\},分别表示前、右、后、左。

输出格式

输出一个整数,表示最少操作次数。


数据范围

  • 1n1061 \le n \le 10^6

对于部分数据:

  • 20%20\% 的数据满足:n10n \le 10
  • 40%40\% 的数据满足:n1000n \le 1000
  • 另有 20%20\% 的数据保证所有石像初始朝向都相同
  • 100%100\% 的数据无特殊限制

样例

4
0 1 2 3
6