请教各路高手
排序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 , 非技术类