QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#8031. Gitignore

Statistics

你的 Git 项目(你不需要熟悉 git 也能解决这个问题)中有一些文件应该在同步时被忽略。你需要计算所需的 gitignore 最少行数。

形式上,你的项目是一个文件夹。文件夹可以包含文件和子文件夹。不存在空文件夹(即内部没有任何文件或子文件夹的文件夹)。最初,git 软件会同步项目中的所有文件。但是,你可以在设置(称为 gitignore)中指定一些文件和文件夹,以将它们排除在同步之外。对于 gitignore 中的每一行,你可以指定一个文件或一个文件夹中的所有文件。你不能忽略整个项目文件夹(即 gitignore 中不能有空行)。

给定项目中所有文件的路径,以及它们是否应该被忽略。你的任务是计算 gitignore 所需的最少行数。

输入格式

输入包含多个测试用例。第一行包含一个正整数 $T$,表示测试用例的数量。对于每个测试用例,首先给出两个非负整数 $n$ 和 $m$。然后是 $n$ 行非空的文件路径(应被忽略),以及 $m$ 行非空的文件路径(不应被忽略)。

路径是仅包含小写英文字母和斜杠('/')的字符串。斜杠用于分隔文件夹、子文件夹和文件名。例如,“a/b/c/d” 表示项目文件夹中的文件夹 “a”,文件夹 “a” 中的文件夹 “b”,文件夹 “b” 中的文件夹 “c”,以及文件夹 “c” 中的文件 “d”。所有路径都是有效的,具体来说:

  • 路径非空,且始终指向一个文件(即路径不以斜杠结尾)。
  • 路径不以斜杠开头。
  • 文件夹名称和文件名非空(即没有连续的斜杠)。
  • 文件路径始终唯一(即一个测试用例中的所有路径都不同)。
  • 在同一个文件夹中,子文件夹和文件不会重名。例如,在一个测试用例中不会同时出现文件 “a/b/a” 和 “a/b/a/d”。但是,允许存在文件 “a/b/a” 和 “a/b/b”。

满足 $1 \le n + m \le 100$,且整个输入中文件路径的总字符数不超过 $1,000$(即整个输入文件中所有文件路径字符串的长度之和不超过 $1,000$)。

输出格式

输出 $T$ 行非负整数,表示每个测试用例中 gitignore 所需的最少行数。

样例

输入 1

2
3 0
data/train
data/test
model
3 1
data/train
data/test
model
data/sample

输出 1

2
3

说明

在第一个样例测试用例中,对应的 gitignore 文件包含 2 行:一行文件夹路径 “data/” 和一行文件名 “model”。

在第二个样例测试用例中,对应的 gitignore 文件包含 3 行:文件路径 “data/train”、“data/test” 和 “model”。

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.