#P15101. [ICPC 2025 LAC] Game of Pieces
[ICPC 2025 LAC] Game of Pieces
说明
如果你玩过足够久的俄罗斯方块,你可能体验过俄罗斯方块效应——即使在停止游戏后,仍会看到下落的方块。为了专注于解决问题并避免这种干扰,我们将考虑一个简化版本的游戏。
游戏在一个由方格单元格组成的棋盘上进行。网格的列从左到右依次编号。棋盘向右和向上是无限的。每个单元格要么是空的,要么是被填充的,初始时所有单元格都是空的。
给定一个由 个矩形方块组成的序列,这些方块被逐一放置到棋盘上。方块有不同的尺寸。一个尺寸为 的方块要么是竖直的( 个单元格),要么是水平的( 个单元格)。当一个方块被放置到指定的列时,它从所有当前已被填充的单元格上方开始,垂直下落,直到触及棋盘底部或落到一个已被填充的单元格顶部。一旦方块落地,它将填充其最终占据的一组单元格。
每次一个方块落地后,如果没有任何空单元格的上方存在被填充的单元格,则认为游戏状态是 安全的;否则游戏状态是 不安全的,违规的方块将从棋盘上移除,游戏继续处理下一个方块,就好像它从未被放置过一样。
在下图中,对应第一个样例输入,游戏在第二个方块落地后变得不安全,因此该方块被移除,后续的方块保持游戏安全。
:::align{center}
:::
给定方块的序列及其放置位置,你的任务是确定每个方块在落地后是否会使棋盘变得不安全。
输入格式
第一行包含一个整数 (),表示方块的数量。
接下来的 行,每行描述一个方块,包含一个字符 和两个整数 和 ( 且 ),分别表示方块的类型、长度以及放置位置。对于竖直方块, 是字符 “|”(竖线),方块有 个单元格,并被放置在第 列。对于水平方块, 是字符 “-”(连字符),方块有 个单元格,并跨越第 列放置。
输出格式
输出一行一个长度为 的字符串。如果第 个方块在棋盘上落地后游戏立即变得不安全,则字符串的第 个字符必须是大写字母 “U”,否则是大写字母 “S”。
4
| 3 1
- 2 1
| 3 2
- 2 1
SUSS
4
| 3 1
| 2 3
| 1 2
- 2 2
SSSU
提示
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号