Untitled
unknown
plain_text
2 years ago
785 B
7
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...