QOJ.ac

QOJ

时间限制: 1 s 内存限制: 128 MB 总分: 100

#15256. PIN

统计

Martin 刚刚被一家大公司聘为系统管理员。自 20 世纪 80 年代以来,该公司一直没有更换其身份验证系统。每个人都有一个四位数的个人识别码(PIN)。没有人使用用户名或密码,只需输入 PIN 即可登录。随着公司的发展,他们增加了使用字母的可能性,但 PIN 的长度保持不变。

Martin 对这种情况感到不满。假设有些人的 PIN 仅在一个位置上有所不同,例如 61ab62ab。如果第一个人不小心把 1 按成了 2,系统仍然会允许他登录。Martin 想要对当前使用的 PIN 进行统计,特别是计算在 1、2、3 或 4 个位置上不同的 PIN 对的数量。他希望这些数字足够令人警醒,以说服他的老板投资一个更好的系统。

给定 PIN 列表和整数 $D$,求在恰好 $D$ 个位置上不同的 PIN 对的数量。

输入格式

输入的第一行包含两个空格分隔的正整数 $N$ 和 $D$,其中 $N$ 是 PIN 的数量,$D$ 是选定的不同位置数。接下来的 $N$ 行,每行包含一个 PIN。

输出格式

输出单行,包含一个整数:在恰好 $D$ 个位置上不同的 PIN 对的数量。

数据范围

  • 你可以认为在所有测试用例中,$2 \le N \le 50\,000$ 且 $1 \le D \le 4$。
  • 每个 PIN 的长度为 4,每个字符要么是数字,要么是 'a' 到 'z' 之间的英文小写字母(包含边界)。
  • 你可以认为输入中的所有 PIN 都是互不相同的。
  • 在价值 15 分的测试用例中,$N \le 2000$。
  • 在价值 60 分的测试用例中,$D \le 2$。其中,在价值 30 分的测试用例中,$D = 1$。
  • 在价值 75 分的测试用例中,每个 PIN 仅由数字或 'a' 到 'f' 之间的英文小写字母(包含边界)组成。因此,它们可以被视为十六进制数。

样例

输入样例 1

4 1
0000
a010
0202
a0e2

输出样例 1

0

说明 1

对于这些 PIN,任意两对 PIN 之间不同的位置数都大于 1。

输入样例 2

4 2
0000
a010
0202
a0e2

输出样例 2

3

说明 2

有三对 PIN 恰好在 2 个位置上不同:(0000, a010)、(0000, 0202) 和 (a010, a0e2)。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.