#P15898. [TOPC 2025] Fruitful Compression

[TOPC 2025] Fruitful Compression

说明

:::align{right}

由 ChatGPT 4o 生成 :::

爱丽丝和鲍勃经营着一家水果生意,为世界各地的顾客配送美味的水果。他们的品牌展示了来自台湾的四种标志性水果:番石榴、荔枝、芒果和释迦。

他们开设了多家分店,每家分店使用相同的布局来展示水果。每天,每家店铺的店面被布置成一个 4×44 \times 4 的网格。网格中水果的摆放满足:每一行和每一列都恰好包含四种不同水果各一个,即每行每列均无重复。

为了确保各分店的一致性,每天晚上,爱丽丝和鲍勃会准备一个 4×44 \times 4 的水果盒,其中放置一个有效的展示布局,并由员工在第二天早上将水果盒送到各分店。

爱丽丝和鲍勃有两个孩子,查理和黛安,他们非常喜欢吃水果。一天晚上,他们偷偷溜进办公室,发现准备好的水果盒正放在桌上。

查理忍不住,抓起一个水果吃掉了。“嗯……我想在不给员工造成困扰的情况下,尽可能多吃几个水果。”他心想。

黛安注意到哥哥的恶作剧,自己也觉得饿了,于是又拿了一个水果。很快,两人开始轮流行动,每次从水果盒中取走一个水果。

他们的规则很简单:他们只能取走一个水果,当且仅当取走该水果后,水果盒中剩余的水果仍能 唯一确定 原始的 4×44 \times 4 展示布局(即,在保持每行每列水果各不相同的规则下,只有一种方式可以补全整个展示布局)。

查理和黛安都不希望自己成为那个无法再拿水果的人。因此,他们都遵循相同的策略:

“如果存在一种方式,让我最终能拿到最后一个水果而不违反规则,那我就取走它,并且我会尽量让自己吃到的水果总数最大化。但如果我的兄弟姐妹能比我更聪明,拿走最后一个水果,那么我会尽量让他们拿到的水果数量最小化。”

现在,给你当前水果盒的状态,即有些水果已经在规则下被取走了。你的任务是编写一个程序,预测在两个孩子都采取最优策略的情况下,水果盒中最终会剩余多少个水果。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 tt,接下来是每个测试用例的描述。

每个测试用例包含四行,第 ii 行是一个长度为 44 的字符串,表示水果盒中第 ii 行的布局。每个字符来自集合 $\{\texttt{G}, \texttt{L}, \texttt{M}, \texttt{S}, \texttt{X}\}$,分别表示四种水果,或一个空位(用 X\texttt{X} 表示)。

输出格式

对于每个测试用例,请输出一行,包含指定的答案。

2
GLMS
LSGM
MGXL
SMLG
GLMS
LMSG
MSXL
SGLM
5
5

提示

  • 1t101 \le t \le 10
  • 保证每个输入的水果盒是合法的,即存在唯一的方式填充空位,使得每行每列的水果各不相同。

翻译由 DeepSeek V3.2 完成