SP1705 GAMEFIL - The Game of Efil

题目描述

大家耳熟能详的“生命游戏”是由 John Conway 发明的一个细胞自动机,它用极其简单的规则展示了复杂的生命演化现象。 在游戏中,一个矩形场地分布着多个细胞。每个细胞有八个邻居(即相邻的细胞),细胞要么被占据,要么为空。游戏的一代推导规则如下: - 如果一个被占据的细胞有 0、1、4、5、6、7 或 8 个被占据的邻居,它将死亡(0、1:孤独而死;4 到 8:因过度拥挤而死)。 - 如果一个被占据的细胞有两个或三个被占据的邻居,该细胞将存活到下一代。 - 如果一个空细胞有且仅有三个被占据的邻居,该细胞将被占据(即新生一个生命)。 长期以来,研究人员一直致力于研究“伊甸园”配置,它指的是那些无法通过规则从之前配置得到的状态。我们现在要探讨一个扩展的问题,称为“反生命游戏”:给定一个初始配置,它可能由多少种不同的父代配置演变而来?为简化问题,我们假设网格是有限的,边缘和角的细胞彼此连接(即形成环面)。例如,2 行 3 列的场景: ![图片](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1705/69f58b1e8dd161545b89bd50e5f8cd3522c6166f.png) 它恰好有三个可能的父代配置,如下所示: ![图片](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1705/c1ed6c648f8e881832facbb79e3c8f5b40827c7f.png) ![图片](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1705/0cd8674866b6d82688720a4f713dad6e387961fc.png) ![图片](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1705/f211134839105cbc03522b33785993c214ee0d4a.png) 请注意计算邻居时,由于环绕效应,一个细胞可能与给定细胞在多个方向上接触,因此会被多次计为邻居。上面的例子正是如此。

输入格式

输入由多个测试用例组成。每个测试用例的第一行包含两个正整数 $m$ 和 $n$,分别表示配置的行数和列数。紧接着的一行是一个非负整数 $k$,表示当前配置中“活”细胞的数量。接下来有 $k$ 行,每行提供一个活细胞的行号和列号,行号和列号都从零开始。输入以 $m = n = 0$ 行结束,这一行不需要处理。确保 $m$ 和 $n$ 的乘积不超过 16。

输出格式

对于每个测试用例,输出一行,包含测试用例编号和可能的父代配置的数量。请参考以下示例输出的格式。如果没有可能的父代配置,请输出: `Garden of Eden.` **本翻译由 AI 自动生成**