列表

详情


NC26108. REN

描述

俄罗斯方块大师x闲着无聊发明了一种游戏:x方块。

0.gif

连击(REN):在x方块中,若连续两次或两次以上落下方块都消去了至少一行则称为是连击(REN)。

连击次数:在连击中的第一次消行不算在连击次数之中,例如在一次连击中断后连续四次落块都消去了至少一行则是三连击(3REN)

连击中断:若本次落下方块未消去任何一行,则本次下落不得分,连击次数清零,连击中断并不会影响在这之前的所得分数。

最高连击:12连击(12REN)为最高连击,12或以上的连击全部以12连击的得分进行计算。

连击得分:连击中断或连击中断后的第一次消行(无连击)不得分,在连击中断后的第二次消行(一连击)开始按连击次数乘所消行数计分。

例如:你连续四次落块都消去了至少一行,并且你第二次消去一行第三次消去二行第四次消去了一行,则会得到一连击*1+二连击*2+三连击*1的分数。

存块位:你拥有且只拥有一个存块位,最初存块位中是没有方块的,每当你从块库中拿出一个方块时你都可以进行以下操作:

(1)存块:若存块位中没有方块,你可以把当前的方块放到存块位中,拿取下一个方块作为当前块;

(2)换块:若存块位中有方块,你可以将当前块与存块位中的方块交换;

(3)库空取块:若存块位中有方块,只有你的块库中已经没有方块时,你才可以将存块位中的方块直接取出作为当前块使存块位变空。

REN地形:一般是预留出连续的2列到4列作为连击的地形基础,其余全部堆满,以方便打出连击。

本次使用的是预留2列,其他的列可以当做有无限层数,这两列你也可以堆叠到任意高度。

只用O块、Z块、反Z块、T块四种方块,不使用I块,L块和反L块。

你可以将当前方块放到其他列来中断连击,允许连续地重复此操作。

除了T块通过旋转有两种下落方式以外,O块、Z块、反Z块都只有一种下落方式。


你不可以改变块库中方块的顺序,但你可以通过存块位来改变你落块的顺序。

显然,如果你将这四种方块中的任意一个以任何宽度为2下落方式放入预留的两列中都会消去至少一行,轻松的连击,嗯?

现在x会给出你1REN到12REN的基础得分,以及你块库的块数n和块库中方块的顺序 (0<n<=10000),请计算出你最终能得到的最大分数是多少。

222.jpg

输入描述

第1行:1个正整数n,表示你的块库中方块的个数; (1<=n<=10000)

第2行:12个由空格隔开的正整数reni,表示1REN到12REN的基础得分;(1<=reni<=100)

第3至n+2行:每行一个正整数si,各表示一个方块(1<=si<=4),这n行描述了块库中方块的顺序,其中数字所表示的方块如下:

1:O块(黄色)

2:Z块(红色)

3:反Z块(绿色)

4:T块(紫色)

(颜色只是为了方便你区分方块,没有其他实际意义)

输出描述

共一行:一个正整数,表示最高的最终得分

示例1

输入:

5
1 2 3 4 5 6 7 8 9 10 11 12
1
2
3
4
1

输出:

20

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题