| 题目名称 | 672. 三值的排序 | 
|---|---|
| 输入输出 | sort3.in/out | 
| 难度等级 | ★☆ | 
| 时间限制 | 1000 ms (1 s) | 
| 内存限制 | 128 MiB | 
| 测试数据 | 8 | 
| 题目来源 |  | 
| 开放分组 | 全部用户 | 
| 提交状态 | |
| 分类标签 | |
| 分享题解 | 
| 通过:132, 提交:254, 通过率:51.97% | ||||
|  | 100 | 0.000 s | 0.00 MiB | C++ | 
|  | 100 | 0.000 s | 0.00 MiB | C++ | 
|  | 100 | 0.000 s | 0.00 MiB | C++ | 
|  | 100 | 0.000 s | 0.00 MiB | C++ | 
|  | 100 | 0.000 s | 0.17 MiB | Pascal | 
|  | 100 | 0.000 s | 0.32 MiB | C++ | 
|  | 100 | 0.000 s | 0.54 MiB | Pascal | 
|  | 100 | 0.001 s | 0.15 MiB | Pascal | 
|  | 100 | 0.001 s | 0.17 MiB | Pascal | 
|  | 100 | 0.001 s | 0.17 MiB | Pascal | 
| 关于 三值的排序 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
| 
数据略水 | ||||
| 
贪心 | ||||
| 
http://cojs.tk/cogs/problem/problem.php?pid=158 跟这个题一模一样 
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 
2012-07-20 16:50
1楼
 | ||||
排序是一种很频繁的计算任务。现在考虑最多只有三值的排序问题。一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌排序的时候。在这个任务中可能的值只有三种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