#icpc2014autumnk. [icpc2014autumn_k]Idempotent Filter
[icpc2014autumn_k]Idempotent Filter
题目描述
考虑由黑白像素组成的六角形像素的操作,每个像素要么是黑色要么是白色。由于像素的形状,每个像素恰好有六个相邻的像素(即与它共享边的像素)。
"过滤"是根据自身和其六个相邻像素的颜色来确定像素的颜色的操作。下面展示了一些过滤的例子。
例子1:当所有相邻像素都是白色时,将像素涂成白色,否则颜色不变。
执行此操作时,同时对所有像素进行操作会得到"噪声消除"效果,即去除孤立的黑色像素。
例子2:当所有相邻像素都是黑色时,将像素涂成白色,否则颜色不变。
执行此操作时,同时对所有像素进行操作会得到"边缘检测"效果,即只保留填充区域的边缘。
例子3:用其正下方像素的颜色来涂色,无视其他相邻像素。
执行此操作时,同时对所有像素进行操作会使整个图像向上移动一个像素。
对任何图像多次应用某种过滤器(例如"噪声消除"和"边缘检测"),其结果与仅应用一次的结果完全相同。我们将这样的过滤器称为 幂等 过滤器。"向上移动"过滤器不是幂等过滤器,因为每次重复应用都将图像向上移动一个像素。
你的任务是确定给定的过滤器是否是幂等过滤器。
输入
输入包含多个数据集。数据集的数量小于100。每个数据集是表示过滤器的字符串,具有以下格式(数字之间没有空格)。
是 '0'(表示黑色)或 '1'(表示白色),它表示当像素及其六个相邻像素的二进制表示为 时,过滤器对像素的输出。像素到位的映射如下所示:
二进制表示 定义为 ,其中 是相应像素的颜色是否为黑色(0)或白色(1)。注意,过滤器应用于中心像素,表示为位3。
输入以只包含一个 "#" 的行结束。
输出
对于每个数据集,如果给定的过滤器是幂等的,请在一行中打印"yes",否则打印"no"(引号是为了清晰起见)。
示例输入
00000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000111111111
10000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111
01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101
#```
### 示例输出
```plain
yes
yes
no```
* * *
### 来源名称
JAG Practice Contest for ACM-ICPC Asia Regional 2014
* * *