题目名称 672. 三值的排序
输入输出 sort3.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 8
题目来源 GravatarMakazeu 于2012-03-29加入
开放分组 全部用户
提交状态
分类标签
USACO 贪心
分享题解
通过:130, 提交:250, 通过率:52%
GravatarSamle 100 0.000 s 0.00 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.000 s 0.00 MiB C++
Gravatar1020 100 0.000 s 0.00 MiB C++
Gravatarlihaoze 100 0.000 s 0.00 MiB C++
GravatarFoolMike 100 0.000 s 0.17 MiB Pascal
Gravatar@@@ 100 0.000 s 0.32 MiB C++
Gravatarzy 100 0.000 s 0.54 MiB Pascal
Gravataro_o 100 0.001 s 0.15 MiB Pascal
GravatarQILIN 100 0.001 s 0.17 MiB Pascal
GravatarQILIN 100 0.001 s 0.17 MiB Pascal
关于 三值的排序 的近10条评论(全部评论)
数据略水
GravatarConanQZ
2016-06-02 18:10 4楼
贪心
Gravatar乌龙猹
2014-10-31 07:48 3楼
http://cojs.tk/cogs/problem/problem.php?pid=158
跟这个题一模一样
Gravatar11111111
2012-10-11 19:36 2楼
分别找1,2,3的数量,换一换就行啦~
注意这样的数据:
20
1
1
3
2
1
1
1
3
2
1
3
3
2
1
3
1
1
2
3
1
Gravatarhello!
2012-07-20 16:50 1楼

672. 三值的排序

★☆   输入文件:sort3.in   输出文件:sort3.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种1,2和3。我们用交换的方法把他排成升序的。

写一个程序计算出,给定的一个1,2,3组成的数字序列,排成升序所需的最少交换次数。

【输入格式】

第一行:奖牌个数$n(1\leq n\leq 1000)$。

第$2$行到第$n$行:每行一个数字,表示奖牌,数字只可能为1、2、3。

【输出格式】

共一行,一个数字。表示排成升序所需的最少交换次数。

【输入样例】

9
2
2
1
3
3
3
2
3
1

【输出样例】

4