三关键字排序

提交数: 154, 通过率: 48.7%, 平均分: 64.01

题目描述:

排序是计算机学科中一个常见任务。有一种特殊的排序,最多只有三个关键字。例如,试图对这次竞赛的奖牌榜排序时,就只有3个关键字,所有的金牌获得者在最前面,随后是银牌获得者,最后是铜牌获得者。 
用1,2,3分别表示3个关键字,需将它们按升序排列,排序是通过一系列对换操作实现的。一次对换操作可以交换两个数的位置。 
任务:对于一个给定的只含有关键字的序列,计算最少需要多少次数的对换操作就可以将其按升序排列。 

输入格式:

第一行是序列长度N(1<=N<=1000),随后N行每一行有一个关键字。

输出格式:

所需最少次数L

样例输入:

9
2
2
1
3
3
3
2
3
1

样例输出:

4
时间限制: 1000ms
空间限制: 128MB

来源: IOI96 day1