Module: GWP(最大递增子序列)


Problem

2 /6


安排球

Problem

玩新游戏时(保龄球和台球的混合体),会用到 N 个球,编号从 1 到 N。游戏开始时,这些球必须按数字顺序排成一行。在比赛期间,他们的顺序可能会改变。
 
为了在下一场比赛开始前安排球,使用了以下装置。该装置由一个头部组成,头部在球上移动,可以“吸”和“吐出来”气球。为了更好地了解这个设备,想象一下吸尘器可以吸入球,移动到正确的位置,然后向相反的方向吹气,“吐出”球。
 
当一个气球被吸入时,所有在被吸入的气球右边的气球都移到左边。 “吐出”球可以在任意两个球之间(也可以在第一个球之前或最后一个球之后),然后将吐痰球插入这些球之间,并将插入球右侧的所有球向右移动.
 
设备可以同时吸入多个球,吐球时先吐出最后一个被吸入的球,再吐出倒数第二个,以此类推。 (即该设备根据堆栈原理工作)。球一次吐出一个,即您可以只吐出一个球,将其余球留在设备内(在这种情况下,您可以继续在同一位置或其他地方“吐出”球,或者吸入新球)。
 
所描述的操作中最耗能的是吸球操作,因此我们希望尽量减少此类操作的数量。
 
编写一个程序,根据球的初始排列,确定按数字顺序排列球所需的最少吸力数。
 
输入
在输入文件中,先给出数字N —球数 (1≤N≤1000)。然后有N个数字给出球在当前位置从左到右的顺序(每个数字——从1到N,每个数字在序列中恰好出现一次)。
 
输出
输出单个数字—将球按编号顺序排列所需的最少吸球操作次数。
 
样品测试评论
 
1.你可以吸2号气球,然后在第1和第3个气球之间吐出来。
 
2.>你可以这样做。首先, 吸 1 号气球,然后 –球号 2。然后我们移动到开头并在第 4 个球(这将是球号 2)之前吐出球。接下来,吸入 3 号气球并在 2 号和 4 号气球之间吐出。然后移动到开头并在那里吐出 1 号气球。但是,这不是本示例中唯一可能的气球顺序。
  <正文>

奥林匹克代表队,莫斯科奥林匹克代表队,9-11 年级,2007 年,联赛 A,问题 F
输入 输出
3
2 1 3
1
4
4 3 2 1
3