3251: 三色排序
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:22
解决:14
题目描述
每个数字都是 0,1,2 中的一个,请将其中的一部分数字两两给定 n 个整数 a1, a2,·..,an,交换,使得结果是升序的,请问最少需要几次交换?
输入
第一行:单个整数表示 n
第二行:n 个整数表示 a1,a2,...,an
输出
单个整数:表示最少交换次数。
\begin{aligned}
&\text{对于 }30\%\text{ 的数据,}1\leq n\leq100,0;
&\text{对于 }60\%\text{ 的数据,}1\leq n\leq100,00; \\
&\text{对于 }100\%\text{ 的数据,}1\leq n\leq1,000,000; \\
&0\leq a_{i}\leq2 ;
\end{aligned}
样例输入 复制
5
2 0 1 2 0
样例输出 复制
1