题目描述
雄心勃勃的农夫约翰计划尝试一些似乎永远不会完全正确的事情:他想为他的整个奶牛群拍照。
为了让照片看起来好看,他希望奶牛从最矮到最高排成一排。就在他让奶牛以这种方式排成一排之后,总是麻烦制造者的奶牛贝西(Bessie)脱离了队伍,重新插入了阵容中的其他位置!
农场主约翰想交换成对的奶牛,这样整个牛群又重新排好了。请帮助他确定为实现这一目标,他需要在成对奶牛之间进行的最小交换数量。
输入格式(文件outofplace.in):
输入的第一行包含N (2≤N≤100). 接下来的N行描述了贝西移动后奶牛排成一行的高度。每头奶牛的身高都是1到1000000之间的整数。奶牛的身高可能相同。
输出格式(文件outofplace.out):
请输出农民约翰交换成对奶牛以实现正确排序所需的最小次数。互换不一定是队伍中相邻的奶牛。
样本输入:
6
2
4
7
7
9
3
示例输出:
3
在本例中,贝西显然是身高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