P14745 [ICPC 2021 Seoul R] Trio
题目描述
设 $A$ 为任意一个由 $n$ 个自然数组成的集合,其中每个数的十进制表示恰好由四位数字组成,且任何数位上都不包含数字 $0$。
一个 **三元组** 是指从 $A$ 中选出的三个数组成的集合 $\{a, b, c\}$,它同时满足以下条件:
- 三个数 $a, b, c$ 的**个位**数字要么全部相同,要么全部不同。
- 三个数 $a, b, c$ 的**十位**数字要么全部相同,要么全部不同。
- 三个数 $a, b, c$ 的**百位**数字要么全部相同,要么全部不同。
- 三个数 $a, b, c$ 的**千位**数字要么全部相同,要么全部不同。
例如,如果这三个数都是 $A$ 的成员,那么集合 $\{1425, 1113, 1354\}$ 是一个三元组,因为这三个数的个位数字全部不同,它们的十位数字全部不同,它们的百位数字全部不同,并且它们的千位数字全部相同。然而,即使 $A$ 包含这三个数,集合 $\{1425, 1113, 5436\}$ 也不是一个三元组。
给定一个集合 $A$ 作为输入,请编写一个程序,计算并输出不同三元组的数量。
输入格式
你的程序需要从标准输入读取数据。输入的第一行包含一个整数 $n$ ($1 \leq n \leq 2,000$),表示集合 $A$ 中元素的数量。接下来的 $n$ 行,每行包含一个十进制表示的正整数,该数恰好由四位数字组成,且任何数位上都不包含数字 $0$。这 $n$ 个数被认为是互不相同的,并且是输入集合 $A$ 的成员。
输出格式
你的程序需要向标准输出写入结果。输出恰好一行。该行应包含一个整数,表示对于输入集合 $A$ 的不同三元组的数量。
说明/提示
翻译由 DeepSeek V3 完成