问题1880--奶牛的编号(privc)

1880: 奶牛的编号(privc)

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

有N(1≤N≤1000)头奶牛,它们都被标上一个优先等级编号:1,2或3。用来表示它们喝水时的优先次序,编号为l的最优先,编号为2的其次,编号为3的最后。
每天奶牛开始时排成一行,但总是很乱,需要你把它们重新排成编号为1的奶牛在最前面,编号为2的其次,编号为3的奶牛在最后。
你能计算出最少需要多少的交换次序来完成这次重排吗?

输入

第1行:1个整数N;
第2至N+1行:第i+1行有一个整数表示开始队列中第i头奶牛的编号。

输出

1行,只一个整数,表示最少需要交换次数。

样例输入 Copy

9
2
2
1
3
3
3
2
3
1

样例输出 Copy

4

提示

样例说明:有一种交换方法。
2   2    2<   1    1
2< 1   1      1    1
1< 2   2      2    2
3   3< 2      2    2
3   3   3      3<  2
3   3   3      3    3
2   2< 3      3    3
3   3    3      3    3
1   1    1<    2<  3

来源/分类