#B3979. [信息与未来 2024] 红绿灯

[信息与未来 2024] 红绿灯

题目描述

七段数码管是一种用来显示数字的电子元件,由七个可以发光的小段组成,这些小段排列成一个数字 88 的形状。通过点亮不同的段,数码管可以显示出从 0099 的数字。每个小段都有一个名字,从 A\tt AG\tt G,按下图方式排列和命名:

数码管通过点亮不同的段显示不同的数字。例如:

  • 数字 00 需要点亮 A,B,C,D,E,F\tt{A,B,C,D,E,F} 段。

  • 数字 11 需要点亮 B,C\tt{B,C} 段。

  • 数字 22 需要点亮 A,B,D,E,G\tt{A,B,D,E,G} 段。

Dr. X 发现,红绿灯上的数码管经常发生故障,故障分为两类:常亮不亮

  • 如果数码管的某段发生了常亮故障,这一段都会始终保持点亮的状态。

  • 如果数码管的某段发生了不亮故障,这一段都会始终保持不亮的状态。

今天,Dr. X 感觉红绿灯的一个数字显示异常,因此记录了数码管显示数字的日志。Dr. X 希望 你根据日志推测数码管的每一段分别可能发生了怎样的故障?

输入格式

输入数据第一行一个整数 nn,代表 Dr. X 日志的数量。接下来 nn 行,每行一条日志 (一个字符 串):

  • 日志从一个数字 k(0k9)k(0 \leq k \leq 9) 开始,代表本次观察的数字。

  • 紧跟着数字的是若干的字母(AG\tt{A\sim G},且每个字母至多出现一次),代表观察到数字 kk 显示时,处于“亮”状态的数码管段。日志准确、没有遗漏地记录了数码管亮着的段,且记录日志的过程中,红绿灯的状态保持不变:常亮的段一直常亮、不亮的段一直不亮、正常的段一直正常。日志中可能有同一个数字的多次记录,但不会自相矛盾。

输出格式

输出一行 77 个字符,分别代表数码管 AG\tt{A\sim G} 段的状态。对于每一段,如果有证据表明它常亮,输出大写字母 X。如果有证据表明它不亮,输出小写字母 x,否则输出半角减号 -

3
1BCD
7BCD
7DCB
x--X---
3
0
1
8G
xxxxxx-

提示

对于 100%100\% 的数据,满足 0n1000 \leq n \leq 100

本题原始满分为 15pts15\text{pts}