#238. [Sleeping Cup #10] Population
[Sleeping Cup #10] Population
注意
本题需要使用文件读写(population.in / population.out)。
题目背景
Sleeping Jellyfish 在玩了普通版本的《生命游戏》后,觉得还不够刺激,于是他设计了一个加强版,引入了特殊的生命源和病毒。这些生命源不会被病毒感染,能够持续影响周围的细胞演化。而病毒会感染周围的细胞,也能够持续影响周围的细胞演化。
题目描述
现有一个改编版的《生命游戏》。
游戏在一个 行 列的网格中进行,网格的状态共有 种,编号分别为 。
你需要模拟以下步骤 次,每次模拟时所有格子的操作同步进行:
- 根据下表,对于每个格子,计算所有与它的切比雪夫距离为 的格子的权值之和。
- 根据下表,对格子的状态进行变换。
| 状态 | 权值 |
|---|---|
| (死细胞) | |
| (活细胞) | |
| (永生细胞) | |
| (繁殖源) | |
| (病毒) |
| 权值之和 | 变换规则 | ||||
|---|---|---|---|---|---|
输入格式
第一行三个正整数 。
下面一个 的矩阵,表示网格的初始状态。
输出格式
一个 的矩阵,表示网格的最终状态。
样例
3 3 1
0 1 0
0 2 0
0 1 0
0 0 0
1 2 1
0 0 0
5 5 1
0 0 0 0 0
0 1 1 1 0
0 1 4 1 0
0 1 1 1 0
0 0 0 0 0
0 0 1 0 0
0 0 1 0 0
1 1 4 1 1
0 0 1 0 0
0 0 1 0 0
5 5 2
0 0 0 0 0
0 1 4 1 0
0 1 3 1 0
0 1 1 1 0
0 0 0 0 0
0 0 0 0 0
0 1 4 1 0
0 1 3 1 0
0 0 1 0 0
0 0 0 0 0