P15898 [TOPC 2025] Fruitful Compression

题目描述

:::align{right} ![](https://cdn.luogu.com.cn/upload/image_hosting/nvihdij7.png) 由 ChatGPT 4o 生成 ::: 爱丽丝和鲍勃经营着一家水果生意,为世界各地的顾客配送美味的水果。他们的品牌展示了来自台湾的四种标志性水果:番石榴、荔枝、芒果和释迦。 他们开设了多家分店,每家分店使用相同的布局来展示水果。每天,每家店铺的店面被布置成一个 $4 \times 4$ 的网格。网格中水果的摆放满足:每一行和每一列都恰好包含四种不同水果各一个,即每行每列均无重复。 为了确保各分店的一致性,每天晚上,爱丽丝和鲍勃会准备一个 $4 \times 4$ 的水果盒,其中放置一个有效的展示布局,并由员工在第二天早上将水果盒送到各分店。 爱丽丝和鲍勃有两个孩子,查理和黛安,他们非常喜欢吃水果。一天晚上,他们偷偷溜进办公室,发现准备好的水果盒正放在桌上。 查理忍不住,抓起一个水果吃掉了。“嗯……我想在不给员工造成困扰的情况下,尽可能多吃几个水果。”他心想。 黛安注意到哥哥的恶作剧,自己也觉得饿了,于是又拿了一个水果。很快,两人开始轮流行动,每次从水果盒中取走一个水果。 他们的规则很简单:他们只能取走一个水果,当且仅当取走该水果后,水果盒中剩余的水果仍能 **唯一确定** 原始的 $4 \times 4$ 展示布局(即,在保持每行每列水果各不相同的规则下,只有一种方式可以补全整个展示布局)。 查理和黛安都不希望自己成为那个无法再拿水果的人。因此,他们都遵循相同的策略: “如果存在一种方式,让我最终能拿到最后一个水果而不违反规则,那我就取走它,并且我会尽量让自己吃到的水果总数最大化。但如果我的兄弟姐妹能比我更聪明,拿走最后一个水果,那么我会尽量让他们拿到的水果数量最小化。” 现在,给你当前水果盒的状态,即有些水果已经在规则下被取走了。你的任务是编写一个程序,预测在两个孩子都采取最优策略的情况下,水果盒中最终会剩余多少个水果。

输入格式

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

输出格式

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

说明/提示

- $1 \le t \le 10$ - 保证每个输入的水果盒是合法的,即存在唯一的方式填充空位,使得每行每列的水果各不相同。 翻译由 DeepSeek V3.2 完成