#P15106. [ICPC 2025 LAC] LED Counter

[ICPC 2025 LAC] LED Counter

说明

LED 计数器是一种有 NN 个位置按单行排列的设备。每个位置能够显示一个从 0099 的数字,并且由七个 LED 组成,如下图所示。

:::align{center} :::

要显示一个特定的数字,只需打开相应的 LED。下图指示了每个可能数字对应打开的 LED。

:::align{center} :::

正如你所见,除了中间的 LED 外,其他所有 LED 都打开以显示数字 00;右上和右下的 LED 打开以显示数字 11;依此类推。

通过打开计数器的 NN 个位置中每个位置的相应 LED,该设备能够显示 10N10^N 个不同的值,从 00000\cdots0NN 个零)到 99999\cdots9NN 个九)。请注意,前导零会被显示。

Astro Void 拥有这个 LED 计数器已经有一段时间了,因此设备可能有一些故障的 LED。好的 LED 在需要时会打开或关闭,而故障的 LED 则总是打开或总是关闭,与计数器的预期值无关。

给定 Astro Void 的 LED 计数器中每个 LED 状态的描述(打开的好 LED、关闭的好 LED、常亮 LED 或常灭 LED),你必须确定计数器的预期值,并指出哪些位置无法被无歧义地确定。

以一个有 N=3N = 3 个位置的 LED 计数器为例,考虑下图。如果所有 LED 都是好的,那么计数器的预期值显然是 056056。如果第一个位置的底部 LED 是一个常亮 LED,那么计数器的预期值仍然是 056056,因为没有其他值会如图所示显示。然而,如果第二个位置的左下 LED 是一个常灭 LED,那么计数器的第二个位置就无法无歧义地确定,因为 056056066066 都会显示为如图所示的样子。

:::align{center} :::

输入格式

第一行包含一个整数 NN1N1051 \le N \le 10^5),表示 LED 计数器的位置数量。

接下来的 NN 行中的第 ii 行包含一个长度为 77 的字符串 SiS_i,描述计数器第 ii 个位置的七个 LED。SiS_i 的每个字符按从左到右、从上到下的顺序描述一个特定的 LED,即按以下顺序:左上、左下、顶部、中部、底部、右上、右下。字符是大写字母 “G”(打开的好 LED)、小写字母 “g”(关闭的好 LED)、加号 “+”(常亮 LED)或连字符 “-”(常灭 LED)。保证 SiS_i 描述了计数器第 ii 个位置的 LED 的有效状态。例如,SiS_i 不会是 “ggggggg”,因为当所有 LED 都是好的时,没有任何数字会显示为全部关闭的状态。

输出格式

输出一行一个长度为 NN 的字符串,表示计数器的预期值。如果某个位置无法无歧义地确定,则在该位置输出字符 “*”(星号)代替相应的数字。

10
GGGgGGG
gggggGG
gGGGGGg
ggGGGGG
GggGgGG
GgGGGgG
GGGGGgG
ggGggGG
GGGGGGG
GgGGGGG
0123456789
3
GGGg+GG
GgGGGgG
GGGGGgG
056
3
GGGg+GG
G-GGGgG
GGGGGgG
0*6
2
+++gG--
---gG++
00
1
-+-+-+-
*

提示

翻译由 DeepSeek V3 完成