Untitled
unknown
plain_text
3 years ago
785 B
12
Indexable
def solve(inp):
data = inp.split(';')
n = int(data[0])
hierarchy = {}
for i in range(1, n + 1):
pair = data[i].split(' : ')
if len(pair) == 1:
pair.append(None)
hierarchy[pair[0]] = pair[1]
m = int(data[n + 1])
exceptions = data[n + 2:]
alrdy_caught = set()
answer = []
for k in range(m):
exc = exceptions[k]
parents = []
parent = hierarchy[exc]
while parent is not None:
parents.append(parent)
parent = hierarchy[parent]
if len(alrdy_caught.intersection(parents)) > 0:
answer.append(exc)
for p in parents:
alrdy_caught.add(p)
alrdy_caught.add(exc)
return ','.join(answer)
Editor is loading...