当前位置:编程学习 > VB >>

请教各路高手

排序

Time Limit:3000MS  Memory Limit:665536K
Total Submit:17 Accepted:3 

Description 

有一些大小不同的木块无序叠放在地上(我们讲这些木块按大小编号1~n)。tony是一个善于思考的学生,他想将这些木块按大小的顺序叠放在地上,上面小,下面大。但是他只能翻转木块,例如1 2 3 4可以通过一次翻转变成2 1 3 4或3 2 1 4或4 3 2 1。他当然不仅仅满足于这一点,他希望找出使木块从小到大叠放的最少翻转次数。 



Input 

用while(cin>>n&&n!=0),第一行一个整数n,第二行n个整数表示木块初始状态(从上到下),每个整数之间用一个空格隔开。 
当n为0退出程序。(1<=n<=10).

Output 

一行一个整数表示最少的翻转次数。

Sample Input 


7
2 1 3 7 4 5 6
0


Sample Output 


5


Source 

tony


用c++怎么做!或者c语言也可以
--------------------编程问答-------------------- 题目有 topcoder 的风格。lz自己动脑筋啊。 --------------------编程问答-------------------- 可能要用递归的思路求解。
补充:VB ,  非技术类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,