#U1718JB3. Out of Place
Out of Place
雄心勃勃的农夫约翰计划尝试一些似乎永远不会完全正确的事情:他想为他的整个奶牛群拍照。为了使照片看起来不错,他希望奶牛从最短的一排排成一排到最高。不幸的是,就在他让奶牛以这种方式排成一排之后,总是麻烦制造者的奶牛贝西(Bessie)脱离了队伍,重新插入了阵容中的其他位置!
农夫约翰想交换成对的奶牛,这样整个牛群就会重新正确排列。请帮助他确定为实现这一目标,他需要在两对奶牛之间进行的最少交换次数。
输入格式(文件 outofplace.in):
输入的第一行包含 N (2≤N≤100)。接下来的 N 行描述了 Bessie 移动后排成一列的奶牛的高度。每头奶牛的身高都是 1…1,000,000 范围内的整数。奶牛可能有相同的高度。
输出格式(文件 outofplace.out):
请输出 Farmer John 需要交换奶牛对以实现正确排序的最少次数。交换不一定需要在排序中涉及相邻的奶牛。
样例输入:
6
2
4
7
7
9
3
样例输出:
3
在此示例中,Bessie 显然是身高 3 的奶牛。FJ 使用如下所述的三个交换将奶牛返回到排序顺序
2 4 7 7 9 3 - 原始列表
2 4 7 7 3 9 - 交换最后两头奶牛
2 4 3 7 7 9 - 交换第一个7和3
2 3 4 7 7 9 - 交换4和3