#AG1002002. 窗口绘制

窗口绘制

题目描述

汪老师喜欢多任务系统,特别是当他用计算机时。他从不满足与每次只运行一个程序,通常他总是同时运行 99 个程序,每个程序有一个窗口。由于显示器屏幕大小有限,他把窗口重叠,并且当他想用某个窗口时,他就把它调到最前面。如果他的显示器是一个 4×44 \times 4 的网格,则汪老师的每一个程序窗口就应该像下图那样用 2×22 \times 2 的窗口表示。

当汪老师把一个窗口调到最前面时,它的所有方格都位于最前面,覆盖它与其它窗口共用的方格。例如,如果先是窗口 11 位于最前面,然后是窗口 22,那么结果应该为下图(a)所示。如果接下来窗口 44 位于最前面,则结果应为下图(b)所示,等等。

不幸的是,汪老师的电脑很不稳定,经常崩溃。他通过观察这些窗口,判断出如果每个窗口都被正确地调到最前面时窗口表示不应该是现在这种图形,就能判断出电脑是死机了。

输入格式

输入包含最多 100100 组数据。每组数据将按如下格式给出,各组数据间无空行。
每组数据包含 33 部分:
(1)起始行 —— 为字符串“START”; (2)显示器屏幕快照 —— 用四行表示当前汪老师的显示器状态。这 44 行为 4×44 \times 4 的矩阵,每一个元素代表显示器对应方格中所显示的一小块窗口。为使输入简单点,数字间仅用一个空格分开。
(3)结束行 —— 为字符串“END”。
最后一组数据后,会有一行,为字符串“ENDOFINPUT”。
注意每个小块只能出现在它可能出现的地方。例如 11 只能出现在左上方 44 个方格里。

输出格式

对每个数据只输出一行:如果能按一定顺序依次将每个窗口调到最前面时能达到数据描述的那样(即没死机),输出“THESE WINDOWS ARE CLEAN”,否则输出“THESE WINDOWS ARE BROKEN”。

样例

START
1 2 3 3
4 5 6 6
7 8 9 9
7 8 9 9
END
START
1 1 3 3
4 1 3 3
7 7 9 9
7 7 9 9
END
ENDOFINPUT
THESE WINDOWS ARE CLEAN
THESE WINDOWS ARE BROKEN

说明/提示

题目出处:POJ 2585