l2-039 清点代码库 (25 分)
时间: 2023-04-24 14:03:02 浏览: 85
题目描述
给定一个代码库,每个代码文件都有一个唯一的文件名和一个文件路径。文件路径是一个字符串,由斜杠分隔的目录名称组成。例如,/usr/local/include/stdio.h 表示文件 stdio.h 位于目录 /usr 下的子目录 local 中的 include 目录中。
现在,给定一组查询,每个查询包含一个文件路径和一个整数 K,请你统计这个路径下所有文件中,代码行数不少于 K 的文件数量。
输入格式
第一行包含两个整数 N 和 M,分别表示代码文件数量和查询数量。
接下来 N 行,每行描述一个代码文件,格式如下:
文件名 文件路径 代码行数
其中文件名和文件路径均不含空格,且文件路径以斜杠 / 开头,且不以斜杠结尾,代码行数是一个不超过 100 的正整数。
接下来 M 行,每行描述一个查询,格式如下:
文件路径 K
同样,文件路径以斜杠 / 开头,且不以斜杠结尾,K 是一个不超过 100 的正整数。
输出格式
对于每个查询,输出一个整数表示答案,每个答案占一行。
数据范围
1≤N≤10000,
1≤M≤100
输入样例1:
3 2
a.cpp /home/user/a 10
b.cpp /home/user/b 20
c.cpp /home/user/a 30
/home/user/a 15
/home/user/b 15
输出样例1:
1
1
输入样例2:
3 2
a.cpp /home/user/a 10
b.cpp /home/user/b 20
c.cpp /home/user/a 30
/home/user/a 25
/home/user/b 15
输出样例2:
1
算法1
(哈希表) $O(n)$
时间复杂度
参考文献
python3 代码
C++ 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码