QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 256 MB مجموع النقاط: 100

#11814. 生命游戏

الإحصائيات

从进化论中“基因视角”来看,基因是不朽的,而我们的角色——生命的意义——就是延续基因。在几个世纪之后,我们作为人类个体存在的所有痕迹、关于我们的记忆、我们所有的成就,很可能都会消失并被遗忘,除了那些成功通过世代繁衍而存活下来的基因。

当然,我们并不是从基因进化的视角来体验世界的,但“生命游戏”(Game of Life)是。生命游戏的宇宙是一个无限的二维正交方格网。每个单元格处于两种可能状态之一:存活或死亡。每个单元格与其八个邻居(水平、垂直或对角线相邻的单元格)进行交互。在每个时间步长,会发生以下转换:

  • 任何存活的单元格,如果其邻居中少于两个存活,则会因人口过少而死亡。
  • 任何存活的单元格,如果其邻居中有两个或三个存活,则会存活到下一代。
  • 任何存活的单元格,如果其邻居中多于三个存活,则会因人口过剩而死亡。
  • 任何死亡的单元格,如果其邻居中恰好有三个存活,则会因繁殖而变成存活状态。

初始模式(第 0 代)由一个 $N \times M$ 的有限网格给出,其中 $N \le 3$ 且 $M \le 5$,作为无限网格的一部分。这意味着其他所有网格的状态均为死亡。

遗传进化是生物生命的意义,它既是生命存在的原因和方式,也是未来生物存在的基础。游戏中的生命三位一体要求你解决三个问题:

  • 在最初的 321 代(包括第 0 代)中,人口在哪个时刻达到最大值?
  • 那个最大值是多少?
  • 第 321 代的人口是多少?

输入格式

输入的第一行包含一个整数 $t$ ($1 \le t \le 300$),表示测试用例的数量。

每个测试用例包含多行。第一行包含两个正整数 $N$ 和 $M$。接下来的 $N$ 行,每行包含一个长度为 $M$ 的字符串,对应初始模式。我们使用 “#” 来描述一个存活的单元格,使用 “.” 来描述一个死亡的单元格。

输出格式

对于每个测试用例,在一行中输出三个整数 $a$、$b$ 和 $c$,其中 $a$ 表示人口达到最大值的代数,$b$ 是该代的人口数量,$c$ 是第 321 代的人口数量。如果存在多个代数的人口达到最大值,请选择最小的 $a$ 进行输出。

样例

输入格式 1

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

输出格式 1

1 4 4
10 20 12
0 3 3

Figure 1. Example of the Game of Life evolution over time steps 0 to 4.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.