P15106 [ICPC 2025 LAC] LED Counter

题目描述

LED 计数器是一种有 $N$ 个位置按单行排列的设备。每个位置能够显示一个从 $0$ 到 $9$ 的数字,并且由七个 LED 组成,如下图所示。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/zu7vhl4p.png) ::: 要显示一个特定的数字,只需打开相应的 LED。下图指示了每个可能数字对应打开的 LED。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/fgc5q95d.png) ::: 正如你所见,除了中间的 LED 外,其他所有 LED 都打开以显示数字 $0$;右上和右下的 LED 打开以显示数字 $1$;依此类推。 通过打开计数器的 $N$ 个位置中每个位置的相应 LED,该设备能够显示 $10^N$ 个不同的值,从 $00\cdots0$($N$ 个零)到 $99\cdots9$($N$ 个九)。请注意,前导零会被显示。 Astro Void 拥有这个 LED 计数器已经有一段时间了,因此设备可能有一些故障的 LED。好的 LED 在需要时会打开或关闭,而故障的 LED 则总是打开或总是关闭,与计数器的预期值无关。 给定 Astro Void 的 LED 计数器中每个 LED 状态的描述(打开的好 LED、关闭的好 LED、常亮 LED 或常灭 LED),你必须确定计数器的预期值,并指出哪些位置无法被无歧义地确定。 以一个有 $N = 3$ 个位置的 LED 计数器为例,考虑下图。如果所有 LED 都是好的,那么计数器的预期值显然是 $056$。如果第一个位置的底部 LED 是一个常亮 LED,那么计数器的预期值仍然是 $056$,因为没有其他值会如图所示显示。然而,如果第二个位置的左下 LED 是一个常灭 LED,那么计数器的第二个位置就无法无歧义地确定,因为 $056$ 和 $066$ 都会显示为如图所示的样子。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/sozuba2o.png) :::

输入格式

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

输出格式

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

说明/提示

翻译由 DeepSeek V3 完成