#35686. 最少的交换
最少的交换
暂无测试数据。
现在给你一个由 $n$ 个互不相同的整数组成的序列,现在要求你任意交两个数字,使序列成为升序序列,请问最少的交换次数是多少?
输入格式
输入包含多组测试数据。每组输入第一行是一个正整数 $n$($n<500000$),表示序列的长度,当 $n=0$ 时。
接下来的 $n$ 行,每行一个整数 $a_i$,表示序列中第 $i$ 个元素。
输出格式
对于每组输入,输出使得所给序列升序的最少交换次数。
数据说明
$a$ 数组是由 $1 \sim n$,这 $n$ 个数字组成。
提示
递归可能会炸栈。
3
1 2 3
3
3 2 1
3
3 1 2
0
0
1
2