#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显示。
Input Format
第一行有一个数,这是时钟显示的连续分钟数。
接下来行包括个时钟显示的的ASCII图像,每两个之间会有一行的空白用于间隔
所有表示数字的段由两个连续的字符表示,每个表示冒号的段由一个字符表示。字符X表示打开的段。字符.指示其他任何内容(显示的分段或非分段部分)。详见样本输入、输出;第一个输出显示每个可能的LCD段以及用于表示:的较小段。没有时钟表示在非段位置有X,或仅显示段的一半。
Output Format
显示一个ASCII图像,每个烧坏的段显示一个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)世界总决赛
京公网安备 11011102002149号