R. 方块下落

    传统题 1000ms 256MiB

方块下落

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

在一个标准俄罗斯方块游戏网格中(宽 1010 列,高 2020 行),方块会按照一个 循环序列依次出现。你需要模拟整个游戏过程,判断游戏是否会结束、如何结束,或是否会“永远不会结束”。

游戏规则:

有如下 77 种不同形态的方块(分别表示为 O 型、I 型、S 型、Z 型、L 型、J 型和 T 型)

从长度为 nn 的序列中循环取方块(第 11 步取第 11 个,第 22 步取第 22 个,…,第 N+1N+1 步回到第 11 个,依此类推)。并且按照所给的方块形状,旋转角度(统一顺时针旋转 00^\circ9090^\circ180180^\circ270270^\circ)以及方块左端所在的列数来放置方块。

方块从上方下落,遇到不能继续下落时会停住。放置方块后,检查是否存在满行(一行所有格子被方块占据)。若存在,消除这些满行并将上方所有行向下移动填补空缺,并且统计消除的行数总和。

输入格式

第一行:正整数 nn1n1001 \le n \le 100),表示循环序列长度。

接下来 nn 行,每行输 s,a,bs,a,b

  • ss 表示方块的类型;
  • a0,90,180,270a \in {0,90,180,270},表示旋转角度;
  • bb 表示方块左端所在的列数(下标从 11 开始)。

保证方块不会左右越界。

输出格式

若某一时刻全部方块被消除,第一行输入 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

测试

未参加
状态
已结束
规则
XCPC
题目
32
开始于
2025-12-25 12:15
结束于
2025-12-25 14:15
持续时间
2 小时
主持人
参赛人数
5