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 翻译