QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 32 MB Puntuación total: 120

#16682. RAZBIBRIGA

Estadísticas

Mirko 已经解出了日报上所有的填字游戏,而且他太害怕 ACTA 了,不敢从互联网上下载新的游戏。现在他让 Frane 用一道编程题来挑战他。Frane 兴奋地带着一个全新的任务回应了他,并且非常友好地没有对这个任务进行版权保护,所以你也可以尝试解决它!

四个长度相同的单词可以组合成一个正方形,其中两个单词表示水平边,另外两个表示垂直边。水平单词从左到右阅读,垂直单词从上到下阅读。角上的字母由相邻的两条边共享。下图展示了由单词 “HLAD”、“NIVA”、“HSIN”、“DEDA” 组成的一个可能正方形。

你的任务是,给定一个长度相同的单词列表,计算可以从这些单词的子集中组合出多少个不同的正方形。在同一个正方形中,你不允许重复使用同一个单词。如果两个正方形在至少一个位置上的字符不同,则认为它们是不同的。

输入格式

第一行包含一个正整数 $N$($4 \le N \le 100\,000$),表示列表中的单词数量。

接下来的 $N$ 行,每行包含一个仅由大写英文字母组成的单词。

每个单词最多包含 10 个字符。所有单词均不相同且长度相等。

输出格式

输出的第一行也是唯一的一行,应当包含所需的不同正方形数量。

注意:测试数据将确保答案在 64 位整型范围内(Pascal 中的 int64,C/C++ 中的 long long)。

样例

输入样例 1

4
NIVA
HLAD
HSIN
DEDA

输出样例 1

2

输入样例 2

6
BAKA
BARA
BALC
CALC
ARHC
BLIC

输出样例 2

8

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.