旋转问题

提交数: 160, 通过率: 27.5%, 平均分: 44.47

题目描述:

你有\(n\)个石像,每个石像有一个鼻子。石像可以朝向4个方向:前(front)、右(right)、后(back)、左(left)。  
每次操作可以选择以下两种方式之一:  
1. **按一个石像的鼻子**:使其他所有石像顺时针旋转\(90^\circ\);  
2. **按自己的鼻子**:使所有石像(包括自己)顺时针旋转\(90^\circ\)。  

顺时针旋转顺序为:前 → 右 → 后 → 左 → 前。  
求将所有石像调整为朝前所需的最少操作次数。

输入格式:

第一行:整数\(n\)(\(1 \leq n \leq 10^6\)),表示石像数量。  
第二行:\(n\)个整数\(a_i\)(\(a_i \in \{0,1,2,3\}\)),表示初始方向,\(0,1,2,3\)分别对应前、右、后、左。

输出格式:

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

数据范围:

20%:\(n \leq 10\)
40%:\(n \leq 1000\)
另外有 20% 的数据:保证所有石像初始朝向都相同
100%:无特殊限制

样例输入:

4
0 1 2 3

样例输出:

6
时间限制: 1000ms
空间限制: 256MB

来源: 25年比赛初中组t2