#P6920. [ICPC 2016 WF] Clock Breaking

[ICPC 2016 WF] Clock Breaking

Description

在无数不幸的畸形死亡事件以及随之而来的诉讼、和解、抗议和抵制之后,ACME时钟制造商的高管们决定最终解决灾难性的质量控制问题。多年来,人们都知道,他们制造的数字钟的液晶显示屏故障率高得令人无法接受,然而,这些无情的人们却一再未能解决这个问题,甚至未能警告他们不幸的消费者!

你被邀请担任质量顾问,最终制止了这种疯狂。你的工作是编写一个自动程序,可以测试时钟并发现其显示中的故障。

这些时钟使用标准的7段LCD显示屏显示所有数字(如图1左侧所示),加上两个小段显示,并以24小时计时法显示所有时间。午夜前一分钟是23:59,午夜是0:00。工作时钟的段始终打开。图1右侧显示了使用七段表示的0~9每个数字。

图1:每个数字的LCD显示。

图1:每个数字的LCD显示。

Input Format

第一行有一个数n(1  n  100)n(1\ \le\ n\ \le\ 100),这是时钟显示的连续分钟数。

接下来8n18n-1行包括nn个时钟显示的7×217\times 21的ASCII图像,每两个之间会有一行的空白用于间隔

所有表示数字的段由两个连续的字符表示,每个表示冒号的段由一个字符表示。字符X表示打开的段。字符.指示其他任何内容(显示的分段或非分段部分)。详见样本输入、输出;第一个输出显示每个可能的LCD段以及用于表示的较小段。没有时钟表示在非段位置有X,或仅显示段的一半。

Output Format

显示一个7×217\times 21ASCII图像,每个烧坏的段显示一个0,每个烧进的段显示1,每个正常工作的段显示为W,以及一个对于无法确定状态的每个段。使用.对于非分段。如果给定的显示不能来自连续分钟,则显示impossible

输入输出样例

3
......XX.....XX...XX.
.....X..X...X..X....X
.....X..X.X.X..X....X
.............XX...XX.
.....X..X......X.X..X
.....X..X......X.X..X
......XX.....XX...XX.

......XX.....XX...XX.
.....X..X...X..X....X
.....X..X.X.X..X....X
.............XX...XX.
.....X..X......X.X..X
.....X..X......X.X..X
......XX.....XX...XX.

.............XX...XX.
........X...X..X....X
........X.X.X..X....X
.............XX......
........X...X..X.X..X
........X...X..X.X..X
......XX.....XX...XX.

.??...WW.....??...??.
?..?.W..?...?..1.0..?
?..?.W..?.?.?..1.0..?
.??...??.....11...WW.
?..?.W..?.0.W..?.1..?
?..?.W..?...W..?.1..?
.??...11.....??...??.

2
......XX.....XX...XX.
...X....X...X..X.X..X
...X....X.X.X..X.X..X
......XX..........XX.
...X.X....X.X..X.X..X
...X.X......X..X.X..X
......XX.....XX...XX.

......XX.....XX......
...X....X...X..X.....
...X....X.X.X..X.....
......XX.............
...X.X....X.X..X.....
...X.X......X..X.....
......XX.....XX......

impossible

Hint

时间限制:3000ms=3s

空间限制:1048576KB=1024MB=1GB

出处:2016年国际大学生编程大赛(ACM-ICPC)世界总决赛