[问题] UVA 120

楼主: keke0421 (zrae)   2012-10-08 08:50:20
题目:http://luckycat.kshs.kh.edu.tw/homework/q120.htm
想法:
我想用递回的方法做,三个步骤
1.若最上面的元素最大 不反转
2.若最大元素不在最上面 在最下面 则翻转一次
3.若最大元素不在最上面 也不在最下面 则翻转两次 先翻到最下面再翻到最上面
每一次的翻转确定最大元素是最上面 之后就不管他 把集合缩小 依序丢到函数里面去
翻转。
但我有点看不懂题目的output
sample output
1 2 3 4 5
0
5 4 3 2 1
1 0
5 1 2 3 4
1 2 0
看到这三个output 我的想法是 先翻转的插入位置 依序在0的左边 (0:代表排序成功)
所以插入位置2会先 再来就是插入位置1
可是后来我发现另外一个测资
2 5 7 6 4 8
4 2 5 3 4 5 0
我照着他的output trace但是答案却不会排序成功
想了老半天 却不知道他这output顺序到底怎么排的
特来请教~"~
感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com