编程题
排序
提示信息:
有N个瓶子,编号为从1到N,这N个瓶子乱序排成一排。现在想对瓶子进行从小到大排列,要求每次拿出2个瓶子进行互换,经过若干次互换后,使得瓶子按编号从小到大排序,但这样的互换方式有多种,每种互换方式的互换次数也不相同。请你通过编程计算出最少经过几次互换可以使瓶子按编号从小到大排序。
题目描述:
第一行输入瓶子的个数N(2 例如第一行输入的N为5,第二行输入N个正整数为21354,第一次拿出2和1进行互换,第二次拿出5和4进行互换,最少需要两次互换。 输入描述 第一行输入一个正整数N表示瓶子的个数(2 第二行输入N个正整数,之间用一个空格分开,表示瓶子编号目前的排序情况 输出描述 输出最少经过几次互换可以使瓶子按编号从小到大排序 样例输入 5 2 1 3 5 4 样例输出 2 评分标准: 10分:能正确输出一组数据: 10分:能正确输出两组数据; 15分:能正确输出三组数据; 15分:能正确输出四组数据。
发表评论 取消回复