R. 方块下落
方块下落
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
在一个标准俄罗斯方块游戏网格中(宽 列,高 行),方块会按照一个 循环序列依次出现。你需要模拟整个游戏过程,判断游戏是否会结束、如何结束,或是否会“永远不会结束”。
游戏规则:
有如下 种不同形态的方块(分别表示为 O 型、I 型、S 型、Z 型、L 型、J 型和 T 型)

从长度为 的序列中循环取方块(第 步取第 个,第 步取第 个,…,第 步回到第 个,依此类推)。并且按照所给的方块形状,旋转角度(统一顺时针旋转 、、、)以及方块左端所在的列数来放置方块。
方块从上方下落,遇到不能继续下落时会停住。放置方块后,检查是否存在满行(一行所有格子被方块占据)。若存在,消除这些满行并将上方所有行向下移动填补空缺,并且统计消除的行数总和。
输入格式
第一行:正整数 (),表示循环序列长度。
接下来 行,每行输 :
- 表示方块的类型;
- ,表示旋转角度;
- 表示方块左端所在的列数(下标从 开始)。
保证方块不会左右越界。
输出格式
若某一时刻全部方块被消除,第一行输入 YES,并在第二行输出目前消除的行数总和。
若某一时刻无法放入新的方块时结束比赛,第一行输入 Game Over,并在第二行输出目前消除的行数总和。
若循环15次后还无法全部消除并且无法被全部填满 则输出 GG,并在第二行输出目前消除的行数总和。
5
O 0 1
I 90 3
I 90 7
I 90 3
I 90 7
YES
2
2
I 0 1
I 0 1
Game Over
0