AT_abc137_c [ABC137C] Green Bin
题目描述
将字符串 $a$ 中的字符以任意顺序排列后得到的字符串称为 $a$ 的 *变位词*(anagram)。
例如,`greenbin` 是 `beginner` 的变位词。像这样,如果某个字符在原字符串中出现多次,则在变位词中也必须恰好出现相同次数。
给定 $N$ 个字符串 $s_1,\ s_2,\ \ldots,\ s_N$。每个字符串长度均为 $10$,且由小写英文字母组成,并且这些字符串两两不同。请你求出有多少对整数 $i,\ j$ $(1 \leq i < j \leq N)$ 满足 $s_i$ 是 $s_j$ 的变位词。
输入格式
输入按以下格式从标准输入给出。
> $N$
> $s_1$
> $s_2$
> $\vdots$
> $s_N$
输出格式
输出满足 $s_i$ 是 $s_j$ 的变位词的整数对 $(i, j)$ 的个数。
说明/提示
## 限制条件
- $2 \leq N \leq 10^5$
- $s_i$ 是长度为 $10$ 的字符串。
- $s_i$ 的每个字符都是小写英文字母。
- $s_1, s_2, \ldots, s_N$ 互不相同。
## 样例解释 1
$s_1 = $ `acornistnt` 是 $s_3 = $ `constraint` 的变位词。除此之外,没有其他满足条件的 $(i, j)$ 对,因此答案为 $1$。
## 样例解释 2
如果不存在满足条件的 $(i, j)$ 对,则输出 $0$。
## 样例解释 3
虽然这里无法给出这样的样例,但请注意,答案可能超出 $32$ 位整数型的范围。
由 ChatGPT 4.1 翻译