题目 20378

Set

查看题解 ↗GitHub ↗如何评测
题号
20378
时间限制
1000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 24 - T4

第 4 题 Set (set)

CSP-S 复赛模拟赛 24 · 时间限制 1.0 s · 空间限制 256 MB · 45 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 set.in,输出文件 set.out。

题目描述

在知名游戏 SET 中,存在着一些数字、形状、颜色等不同的卡片,玩家的目标是确定一个存在的 triplet of cards(即卡片的三元组,也就是三张卡片构成的组合),使其符合特定的要求。Marin 和 Josip 很快就对这个游戏感到无趣,并对其进行了加强。

在本题中,定义每张卡片代表着一个仅由 1,2,31, 2, 3 构成的长度为 kk 的序列,共有 nn 张卡片,卡片之间是无序的,保证卡片两两不同。

定义一个 SET 表示,当且仅当一个无序的 triplet of cards 其中的三个序列的每一位均相同或各不相同,用原文中的话就是 same 或 pairwise different,更严谨地表示,我们令这三个序列为 Si,Sj,SkS_i, S_j, S_k,则一定满足如下条件:

  • i<j<ki < j < k
  • ∀x∈[1,k]\forall x \in [1, k],满足 Si(x)=Sj(x)=Sk(x)S_i(x) = S_j(x) = S_k(x) 或 Si(x)≠Sj(x)≠Sk(x)S_i(x) \neq S_j(x) \neq S_k(x)

例如 (1123, 1322, 1221) 便满足 1, 3 位均相同,2, 4 位各不相同。

给你这些序列,求可以组成多少种本质不同的 SET。

输入格式

第一行为两个整数正整数 n,kn, k。

接下来 nn 行中每一行包含一个仅由 1,2,31, 2, 3 构成的长度为 kk 的序列,代表着一张卡片。

保证每张卡片上的序列不同。

输出格式

仅一行一个整数,表示可以组成的本质不同的 SET 的数量。

样例

样例 1

输入:

文本
3 4
1123
1322
1221

输出:

文本
1

样例 2

输入:

文本
2 2
11
22

输出:

文本
0

样例 3

输入:

文本
5 3
111
222
333
123
132

输出:

文本
2

提示

【样例解释 #3】

可以组成的两个 SET 分别为 (S1,S2,S3)(S_1, S_2, S_3) 和 (S1,S4,S5)(S_1, S_4, S_5)。

【数据范围】

对于全部数据,1≤k≤121 \le k \le 12,1≤n≤3k1 \le n \le 3^k,SiS_i 互不相同,1≤Si(x)≤31 \le S_i(x) \le 3。

Subtask 特殊限制 分数
1 k≤5k \le 5 10
2 k≤7k \le 7 30
3 无特殊限制 70

说明

本题总分 110 分。

本题译自 Croatian Open Competition in Informatics 2021/2022 Contest #1 T4 Set。

数据下载

题目 20378 的公开数据

正在读取文件列表…

常用命令

题目 20378 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。