一个叫做立方体大作战的游戏风靡整个 Byteotia。这个游戏的规则是相当复杂的,所以我们只介绍他的简单规则:给定玩家一个有 个元素的栈,元素一个叠一个地放置。这些元素拥有 个不同的编号,每个编号正好有两个元素。玩家每次可以交换两个相邻的元素。如果在交换之后,两个相邻的元素编号相同,则将他们都从栈中移除,所有在他们上面的元素都会掉落下来并且可以导致连锁反应。玩家的目标是用最少的步数将方块全部消除。
第一行包含一个正整数 。
接下来 行,每行一个数 ,从上到下描述整个栈,保证 范围内每个整数出现且仅只出现两次。
输出仅一行包含一个数,表示消除所有方块最少使用的步数。
5 5 2 3 1 4 1 4 3 5 2
2
3 1 2 3 1 2 3
3
初始时,保证没有两个相同元素相邻。并且保证所有数据都能在 步以内出解。
[POI2007] 立方体大作战tet