#P15101. [ICPC 2025 LAC] Game of Pieces

    ID: 15129 远端评测题 2500ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>线段树树状数组2025离散化差分ICPC

[ICPC 2025 LAC] Game of Pieces

说明

如果你玩过足够久的俄罗斯方块,你可能体验过俄罗斯方块效应——即使在停止游戏后,仍会看到下落的方块。为了专注于解决问题并避免这种干扰,我们将考虑一个简化版本的游戏。

游戏在一个由方格单元格组成的棋盘上进行。网格的列从左到右依次编号。棋盘向右和向上是无限的。每个单元格要么是空的,要么是被填充的,初始时所有单元格都是空的。

给定一个由 NN 个矩形方块组成的序列,这些方块被逐一放置到棋盘上。方块有不同的尺寸。一个尺寸为 LL 的方块要么是竖直的(L×1L \times 1 个单元格),要么是水平的(1×L1 \times L 个单元格)。当一个方块被放置到指定的列时,它从所有当前已被填充的单元格上方开始,垂直下落,直到触及棋盘底部或落到一个已被填充的单元格顶部。一旦方块落地,它将填充其最终占据的一组单元格。

每次一个方块落地后,如果没有任何空单元格的上方存在被填充的单元格,则认为游戏状态是 安全的;否则游戏状态是 不安全的,违规的方块将从棋盘上移除,游戏继续处理下一个方块,就好像它从未被放置过一样。

在下图中,对应第一个样例输入,游戏在第二个方块落地后变得不安全,因此该方块被移除,后续的方块保持游戏安全。

:::align{center} :::

给定方块的序列及其放置位置,你的任务是确定每个方块在落地后是否会使棋盘变得不安全。

输入格式

第一行包含一个整数 NN1N21051 \le N \le 2 \cdot 10^5),表示方块的数量。

接下来的 NN 行,每行描述一个方块,包含一个字符 CC 和两个整数 LLPP1L1091 \le L \le 10^91P10181 \le P \le 10^{18}),分别表示方块的类型、长度以及放置位置。对于竖直方块,CC 是字符 “|”(竖线),方块有 L×1L \times 1 个单元格,并被放置在第 PP 列。对于水平方块,CC 是字符 “-”(连字符),方块有 1×L1 \times L 个单元格,并跨越第 P,P+1,,P+L1P, P+1, \dots, P+L-1 列放置。

输出格式

输出一行一个长度为 NN 的字符串。如果第 ii 个方块在棋盘上落地后游戏立即变得不安全,则字符串的第 ii 个字符必须是大写字母 “U”,否则是大写字母 “S”。

4
| 3 1
- 2 1
| 3 2
- 2 1
SUSS
4
| 3 1
| 2 3
| 1 2
- 2 2
SSSU

提示

翻译由 DeepSeek V3 完成