#XAXX241202. 俄罗斯方块(cube)
俄罗斯方块(cube)
【题目描述】
《俄罗斯方块》是由七种四格骨牌构成,全部都由四个方块组成。开始时,一个随机的方块会从区域上方开始缓慢继续落下。落下期间,玩家可以以 90 度为单位旋转方块,以格子为单位左右移动方块,或让方块加速落下。当方块下落到区域最下方或着落到其他方块上无法再向下移动时,就会固定在该处,然后一个新的随机的方块会出现在区域上方开始落下。当区域中某一横行的格子全部由方块填满时,则该列会被消除并成为玩家的得分。俄罗斯方块因为其简单的逻辑而风靡全球,小凯自然也不例外,小凯希望可以通过程序来寻找到在什么位置放置下一个方块可以不产生间隙,但是小凯的代码水平有限,所以他希望你来帮助他。
【输入格式】
从文件 cube.in 中读入数据。
输入共三行,第一行为一个整数 n,表示游戏共有 n 列(n<=1000)。
第二行为 n 个整数,第 i 个整数 ai 表示第 i 列现在的高度(保证不存在间隙)。
第三行为一个整数 p,表示接下来要出现的方块是什么,方块与数字的对应关系
如下:
【输出格式】
输出到文件 cube.out 中。 输出所有可能的摆放的方式中,摆放后高度尽可能低的那一个方案中最左侧方块所在的列,如果有多个符合要求的,输出靠左侧的,如果没有可行的方案则输出“No”。为了降低难度,所有方块禁止旋转。
【样例输入】
8
8 8 8 8 0 8 8 8
1
【样例输出】
5
【数据范围】
对于 100%的数据,保证输入的 n<=1000,ai <=20,1<=p<=7。
相关
在以下作业中: