QOJ.ac

QOJ

時間限制: 6 s 記憶體限制: 2048 MB 總分: 100

#7700. 拆分决策

统计

Split Decisions 谜题是一种填字游戏,其中每个横向和纵向的答案都是一对单词,而不是单个单词(如标准填字游戏)。每一对单词除了在两个相邻位置不同外,其余部分完全相同,这两个位置提供的字母即为该单词对的线索。在图 K.1 的左半部分,给出了字母对 “IN” 和 “CR”,单词 “SINEW” 和 “SCREW” 可用于解答该线索。图的右半部分展示了一个典型的 Split Decisions 谜题。

图 K.1:一个小型 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),因此它不应被考虑。

输入格式

第一行包含一个正整数 $n$ ($1 \le n \le 1500$),表示单词列表中的单词数量。 随后有 $n$ 行,每行包含一个单词。每个单词由大写字母组成,且长度不小于 3 且不超过 20。

输出格式

输出输入中存在有效 Split Decisions 线索的唯一单词对的数量。

样例

样例输入 1

5
CELL
GULL
GUSH
HALL
HASH

样例输出 1

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.