121. 【应-7-2·难】多级继承方法解析

中等 Python 2s 256MB
通过 0/0

📋 题目描述
给定一些类的单继承关系(每个类至多有一个父类),以及每个类自定义实现的方法名集合。 对于查询 `Class.method`,请输出**沿继承链向上找到的最近实现该方法的类名**(包含 `Class` 自身);如果继承链上没有任何类实现了该方法,则输出 `NotFound`。
📥 输入描述
第一行三个整数 N M Q,分别为类的数量、方法定义条数、查询条数。 接下来 N 行,每行 `Class Parent`,表示 Class 的父类是 Parent;Parent 为 `-` 时表示 Class 没有父类。 接下来 M 行,每行 `Class.method`,表示 Class 自定义实现了 method。 接下来 Q 行,每行查询 `Class.method`。 所有名字都是不含空格、不含点的字符串。
📤 输出描述
Q 行,每行是查询的答案:实现该方法的最近祖先类名,或 `NotFound`。
输入样例
3
2
3
A -
B A
C B
A.m1
B.m2
C.m1
C.m2
C.m3
输出样例
A
B
NotFound
提示:建一个 dict parent[Class]=Parent;建一个 set methods[Class] = 自定义方法集合。 对每个查询 Class.method:从 Class 开始,沿 parent 向上走,第一个 method ∈ methods[当前类] 的类即为答案。

登录后提交代码

讨论区 0
登录后参与讨论

还没有讨论,来发表第一条吧!