#P1053. Set Me
Set Me
描述
“集合”(Set)游戏使用一副八十一张卡片来进行,每张卡片具有以下四个特征:
- 符号:菱形、椭圆形或弯曲线(扭曲线)
- 数量:1个、2个或3个符号
- 颜色:红色、绿色或紫色
- 阴影:轮廓、填充或条纹
卡片被洗牌后,十二张卡片被摆放在桌面上。玩家们随后尝试最先识别出桌面上存在的 “集合”(sets)。当 “集合” 被识别出来后,这些卡片会被移除,然后新的卡片会被发放在它们的位置上。游戏以这种方式继续进行,直到所有卡片都被使用完。获胜者是找到 “集合” 最多的玩家。
一个 “集合” 是由三张卡片组成的集合,其中每张卡片的每个特征要么在三张卡片上完全相同,要么在三张卡片上完全不同。例如,下面展示的卡片形成了一个 “集合”。

要理解上面的卡片如何形成一个 “集合”,依次考虑每个特征。首先,每张卡片具有不同的符号:第一张卡片有弯曲线(扭曲线),第二张是菱形,第三张是椭圆形。其次,每张卡片具有相同数量的符号,都是三个。第三,每张卡片具有不同的颜色,最后,每张卡片具有不同的阴影。因此,每个特征要么在三张卡片上完全相同,要么在三张卡片上完全不同,满足 “集合” 的要求。
考虑下面三个卡片的例子,它们不形成一个 “集合”。

同样,依次考虑每个特征。每张卡片具有不同的符号,每张卡片具有不同数量的符号,并且每张卡片颜色相同。到目前为止,这满足 “集合” 的要求。然而,当考虑阴影特征时,两张卡片是填充的,一张卡片是条纹的。因此,三张卡片的阴影既不是都相同,也不是都不同,所以这些卡片不形成一个 “集合”。
输入
这个程序的输入由几个卡片桌面布局组成。桌面布局在输入文件中每行列出一张卡片,不同桌面布局之间用一个空行隔开。输入的结束由文件的结束标记。一个桌面布局中的每张卡片在输入行中由四个连续的字符指定。第一个字符标识卡片上的符号类型,并且将是 “D”、“O” 或 “S”,分别代表菱形(Diamond)、椭圆形(Oval)和弯曲线(扭曲线)(Squiggle)。第二个字符将是数字 1、2 或 3,标识卡片上符号的数量。第三个字符标识颜色,并且将是 “R”、“G” 或 “P”,分别代表红色(Red)、绿色(Green)和紫色(Purple)。最后一个字符标识阴影,并且将是 “O”、“F” 或 “S”,分别代表轮廓(Outlined)、填充(Filled)和条纹(Striped)。所有字符都是大写的。
输出
对于每个桌面布局,程序的输出是所有可能由该桌面布局中的卡片形成的 “集合” 的列表。输出 “集合” 的顺序不重要,但你的输出应该遵循下面示例所示的格式。如果一个桌面布局中不存在 “集合”,报告 “*** None Found ***”。
S1PS
D3PO
S2GF
O2GS
O2GF
O3PO
S2RF
S3GS
D2GS
O1GS
O1GF
S2PS
O2GF
O1PF
D2PO
D3RO
S2PO
O1GF
O1GS
D2GO
S3PF
S2GF
D2GS
S1RS
CARDS: S1PS D3PO S2GF O2GS O2GF O3PO S2RF S3GS D2GS O1GS O1GF S2PS
SETS: 1. D3PO S2RF O1GS
2. S3GS D2GS O1GS
CARDS: O2GF O1PF D2PO D3RO S2PO O1GF O1GS D2GO S3PF S2GF D2GS S1RS
SETS: *** None Found ***
来源
大纽约地区 2001 年