QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100

#2871. 清理!

Estadísticas

Charlie 决定通过删除 Downloads 目录下的所有文件来开启新生活。使用 bash shell 可以轻松做到这一点!它有两个有用的功能:rm 命令,用于删除作为参数给出的所有文件;以及模式匹配,在执行命令前,模式会被替换为匹配该模式的文件列表。

Charlie 运行了 rm *,但收到了“Argument list too long”(参数列表过长)的响应。不幸的是,在 bash 将 * 替换为 Downloads 目录中所有文件的名称后,由于参数过多,命令无法执行。

经过一些实验,Charlie 意识到他可以执行 rm abc* 来删除所有以 abc 开头的文件,前提是满足条件的文件不超过 $k$ 个。如果匹配该模式的文件超过 $k$ 个,则这些文件都不会被删除。当然,他可以将 abc 替换为任何字符串。

请帮助 Charlie 找到删除所有文件所需的最少 rm 命令数量。假设他只能使用 rm <prefix>* 形式的命令,其中 <prefix> 由小写英文字母组成(也可以为空)。

输入格式

第一行包含两个整数 $n$ 和 $k$ —— 需要删除的文件数量,以及单次 rm 命令最多可以删除的文件数量 ($1 \le n, k \le 3 \cdot 10^5$)。

接下来的 $n$ 行,每行包含一个字符串,表示一个文件名。所有文件名均不相同、非空,且由小写英文字母组成。所有文件名的总长度不超过 $3 \cdot 10^5$。

输出格式

输出一个整数 —— 删除所有文件所需的最少 rm 命令数量。

样例

样例输入 1

4 2
a
abc
abd
b

样例输出 1

2

样例输入 2

4 2
d
c
ab
a

样例输出 2

2

样例输入 3

5 3
please
remove
all
these
files

样例输出 3

3

说明

在第一个样例测试中,Charlie 可以执行 rm ab* 来删除文件 abcabd,然后执行 rm * 来删除文件 ab。注意,他不能直接运行 rm *,因为最初所有四个文件都匹配空前缀。

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.