#P17377. [ECNA 2023] Split Decisions

[ECNA 2023] Split Decisions

题目描述

Split Decisions 是一种填字游戏。与标准填字游戏不同,其中每个横向或纵向答案都是一对单词,而不是单个单词。一对单词除恰好两个相邻位置外,其余位置的字母都完全相同;谜题会给出这两个位置上两组不同的字母,它们共同构成这对单词的线索。

图 1 左半部分给出了字母对 IN 和 CR,可以用单词 SINEW 与 SCREW 解出这条线索。图的右半部分则展示了一个典型的 Split Decisions 谜题。

我们本可以要求你解答一个给定的 Split Decisions 谜题,不过这次决定让你完成一项略有不同的任务。给定一份单词表,你需要找出其中可以用于 Split Decisions 谜题的单词对。具体而言,每一对单词必须满足:

  • 它们在恰好两个相邻位置上的字母不同;
  • 对于由这两个位置上的两组字母构成的线索,它们是单词表中唯一可行的单词对,即表中不存在另一对单词也能解出同一条线索。

例如,如果单词表包含 CELL、GULL、GUSH、HALL 和 HASH,则可以构造两条线索:[CE/GU]_ _ 对应答案对 CELL/GULL,[CE/HA]_ _ 对应答案对 CELL/HALL。

注意,线索 [GU/HA]_ _ 有两组可能的答案:GULL/HALL 和 GUSH/HASH,因此不应计入。

:::align{center} :::

输入格式

第一行包含一个正整数 nn,表示单词表中的单词数量,其中 1≤n≤15001\le n\le 1500。

接下来 nn 行,每行包含一个单词。每个单词只由大写英文字母组成,长度不小于 33 且不大于 2020。

输出格式

输出输入中存在合法 Split Decisions 线索的不同单词对数量。

5
CELL
GULL
GUSH
HALL
HASH
2