SP4480 MCHAOS - Chaos Strings
题目描述
小洛夫罗热衷于文字游戏。最近,他发现某些单词之间存在“互不喜欢”的关系。
具体来说,如果单词 \(A\) 的字典序在 \(B\) 之前,但反转后的 \(B'\) 的字典序在 \(A'\) 之前(其中 \(X'\) 表示单词 \(X\) 的逆序,例如 \(X = \text{kamen}\) 则 \(X' = \text{nemak}\)),那么这样的 \(A\) 和 \(B\) 就是互不喜欢的。例如,单词 "lova" 和 "novac" 是友好的,而单词 "aron" 和 "sunce" 就互不喜欢。
现在,给定一组单词,我们定义其混乱度为其中互不喜欢的不同单词对的数量。
请编写一个程序,帮助小洛夫罗计算出给定单词集合的混乱度。
输入格式
第一行输入一个整数 \(N\),表示单词数,满足 \(2 \le N \le 10^5\)。
接下来的 \(N\) 行中,每一行包含一个单词,单词由最多 10 个小写英文字母组成。输入中不会出现相同的单词。
输出格式
输出只有一行,包含一个整数,表示给定单词集合的混乱度。
注意:请使用 64 位有符号整数类型(Pascal 中的 int64,C/C++ 中的 long long)。
**本翻译由 AI 自动生成**