P7117: 俄罗斯方块

传统题
1.000s 时间限制
256MB 内存限制
0 提交
0 解决

【题目描述】
【题目描述】
俄罗斯方块是一种流行的电脑游戏,在由C列和无限行组成的区域中玩。在一个动作中,以下七个棋子中的一个被投进场地:

当落下一个棋子时,玩家可以自由地将棋子旋转90180270度,并将其向左或向右移动,只要棋子完全留在场地内。然后,棋子落下,直到它落在场地底部或已经占据的方格上。在我们的俄罗斯方块变体中,棋子必须落下,使棋子的所有部分都在场地的底部或已经占据的方格上。换言之,在棋子掉落后,可能不会有一个自由的正方形,使得其上方的某个正方形被占用。

例如,假设棋盘为六列宽,初始高度(每列中已占用的正方形的数量)为21101。然后可以通过五种不同的方式将5号棋子放入棋盘:
输入所有列的初始高度以及要放入棋盘中的图形。
编写一个程序,计算将一个棋子放入棋盘中不同方式的数量。
【输入】
第一行包含两个整数CP1C1001P7,列数和要删除的工件数。
第二行包含由单个空格分隔的C个整数,每个整数介于0100之间(包括0100)。这些是每一列的初始高度。
【输出】
在单行上输出在字段中放置工件的不同方式的数量。
样本输入1
6 5
2 1 1 1 0 1
样本输出1
5
样本输入2
5 1
0 0 0 0 0
样本输出2
7
样本输入3
9 4
4 3 5 4 6 5 7 6 6
样本输出3
1
【样例输入】复制
6 5
2 1 1 1 0 1
【样例输出】 复制
5

题目类型~

初级 难度1.7 

咻咻~

提交答案 状态