#B. 康威生命游戏S3/B23

    传统题 文件IO:kang 1000ms 256MiB

康威生命游戏S3/B23

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

本题目由803班杨显斌同学供题

题目背景

康威生命游戏(Game of Life),剑桥大学约翰·何顿·康威设计的计算机程序,它是一种元胞自动机。


每个方格中都可放置一个生命细胞,每个生命细胞只有两种状态:“生”或“死”。

用黑色方格表示该细胞为“生”,空格(白色)表示该细胞为“死”。或者说方格网中黑色部分表示某个时候某种“生命”的分布图。生命游戏想要模拟的是:随着时间的流逝,这个分布图将如何一代一代地变化。

游戏开始时,每个细胞随机地设定为“生”或“死”之一的某个状态。然后,根据某种规则,计算出下一代每个细胞的状态,画出下一代细胞的生死分布图。


应该规定什么样的迭代规则呢?需要一个简单的,但又反映生命之间既协同又竞争的生存定律。为简单起见,最基本的考虑是假设每一个细胞都遵循完全一样的生存定律

再进一步,把细胞之间的相互影响只限制在最靠近该细胞的8个邻居中。

也就是说,每个细胞迭代后的状态由该细胞及周围8个细胞状态所决定。作了这些限制后,仍然还有很多方法来规定“生存定律”的具体细节。例如,在康威生命游戏中,规定了如下生存定律:

(1)当前细胞为死亡状态时,当周围有3个存活细胞时,则迭代后该细胞变成存活状态(模拟繁殖);若原先为生,则保持不变。

(2)当前细胞为存活状态时,当周围的邻居细胞低于两个(不包含两个)存活时,该细胞变成死亡状态(模拟生命数量稀少)。

(3)当前细胞为存活状态时,当周围有两个或3个存活细胞时,该细胞保持原样。

(4)当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态(模拟生命数量过多)。 可以把最初的细胞结构定义为种子,当所有种子细胞按以上规则处理后,可以得到第1代细胞图。按规则继续处理当前的细胞图,可以得到下一代的细胞图,周而复始。

题目描述

初始状态给定一个16*16的细胞状态图: 其中_“.”为死细胞,“#”为活细胞_


现在你要做的是模拟出经过n轮迭代后细胞矩阵新的样子,注意!这个矩阵的边界由一圈永远不变死细胞组成

输入格式

第一行为 n

接下来是一个16*16的矩阵

输出格式

一个16*16的矩阵

输入输出样例 #1

输入 #1

3
................
......#.........
......#.........
......#.........
................
................
................
................
................
................
................
................
................
................
................
................

输出 #1

................
................
.....###........
................
................
................
................
................
................
................
................
................
................
................
................
................

说明/提示

	    细胞演变过程V
n=3

.....	.....	.....	.....	.....
..#..	..~..	.....	..@..	..#..
..#..	.@#@.	.###.	.~#~.	..#..
..#..	..~..	.....	..@..	..#..
.....	.....	.....	.....	.....
第一代			第二代			第三代

“.”为死细胞,“#”为活细胞,“~”为将死细胞,“@”为将活细胞

2 =< n =< 256

GFHD欢度五一信奥赛B阶

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-4-30 16:00
结束于
2025-5-6 4:00
持续时间
132 小时
主持人
参赛人数
26