2455: LQ1125 最少的交换次数

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

有N个瓶子,编号为从1到N,这N个瓶子乱序排成一排。
现在想对瓶子进行从小到大排列,要求每次拿出2个瓶子进行互换,经过若干次互换后,使得瓶子按编号从小到大排序,但这样的互换方式有多种,每种互换方式的互换次数也不相同。
请你通过编程计算出最少经过几次互换可以使瓶子按编号从小到大排序。
例如第一行输入的N为5,第二行输入N个正整数为21354,第一次拿出2和1进行互换,第二次拿出5和4进行互换,最少需要两次互换。

Input

第一行输入一个正整数N表示瓶子的个数(2<N<100)。
第二行输入N个正整数,之间用一个空格分开,表示瓶子编号目前的排序情况。

Output

输出最少经过几次互换可以使瓶子按编号从小到大排序。

Sample Input Copy

5
2 1 3 5 4

Sample Output Copy

2