作者LPH66 (圬琐)
看板Prob_Solve
标题Re: [问题] UVA 120
时间Mon Oct 8 09:19:02 2012
你要仔细看题目的叙述
给定的煎饼顺序是由上到下
但抹刀的位置却是最下面的煎饼之下为 1
也就是以输入来看的话 1 的位置是最右边一个数的右边
所翻转的序列是那个位置往左的全部
所以这几笔测资是这样看的:
5 1 2 3 4
<----| 位置 1
4 3 2 1 5
<----| 位置 2
1 2 3 4 5
2 5 7 6 4 8
<--| 位置 4
7 5 2 6 4 8
<----| 位置 2
4 6 2 5 7 8
<--| 位置 5
6 4 2 5 7 8
<---| 位置 3
5 2 4 6 7 8
<--| 位置 4
4 2 5 6 7 8
<--| 位置 5
2 4 5 6 7 8
※ 引述《keke0421 (zrae)》之铭言:
: 题目: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顺序到底怎麽排的
: 特来请教~"~
: 感谢
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █
▄▄▄▄▄
▍
./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎
⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏
ζ(▏●‵◥′●▊)Ψ ▏ █
⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主义 █
▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢
S.O.S 世界を大いに盛り上げるための凉宫ハルヒの団
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.218.108.125
1F:推 keke0421:感谢QQ 10/09 05:00