#P4848. 元胞自动机
元胞自动机
Description
很久以前,一位物理学家提出了一个问题,一些人造元胞通过固定的规律进行变换,后来计算机学家利用计算机解答了这一系列问题,以下就是一道经典题目:有一个容器,他被分为了144个方格,按照12×12的顺序排列。首先给定一个初始状态(即为元胞在这个容器内的分布情况),然后按照事件A(当以一个方格为中心展开的九宫格内除这个方格外有超过2个元胞则这个方格内不可以存在元胞)和事件B(当以一个方格为中心展开的九宫格内除这个方格外有低于3个元胞则这个方格必须存在元胞)变换,将整个容器内的元胞分布刷新一遍即为一秒钟的元胞变换,然后求出5秒钟后元胞的分布情况。
需要输入的是两个阵列,每个阵列进行五秒的分化后,将两个表格合并(0和1即取1,1和1即取0,0和0即取1),最后输出结果。
Input Format
输入两个12×12的由数字0和1组成的矩阵,由空格分隔。0代表此方格内不存在元胞,1代表方格内存在元胞。
Output Format
一个由数字0和1组成的矩阵,由空格分隔。0代表此方格内不存在元胞,1代表方格内存在元胞。
0 0 1 0 0 1 1 0 0 1 1 0
1 0 1 1 0 0 1 0 1 1 1 1
0 0 1 0 1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 1 0 1 1 1 0 0 1
1 1 1 1 1 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0 0 0 1 0
1 1 0 0 1 0 0 1 0 0 0 1
0 0 1 0 0 1 0 0 1 0 1 1
0 0 0 0 0 1 1 1 1 1 1 0
1 0 1 0 0 1 0 1 1 1 0 0
1 1 0 1 0 1 1 0 1 0 1 0
1 0 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 1
0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 0 1 1 1 1 1
1 0 0 0 0 0 0 0 1 1 0 1
1 1 1 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 00 1 1 1 0 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1 1
Hint
样例1中的第1个数为0,则展开的九宫格中只有0、0、1,所以其为事件B,则其在第一次变换中会变为1。样例1中的第2行第2列的0展开的九宫格中有4个1,则触发事件A,则其还为0。
剩下的依次计算,便得到样例输出1。