def last_local_update(self): for node in self.nodes: if node.parent is None: self.dfs(node)
def dfs(self, node): # Update node ka index node.index = len(node.children) index of ek chalis ki last local updated
# Update mata ka index if node.parent: node.parent.index = max(node.parent.index, node.index + 1) def last_local_update(self): for node in self
class Chalis: def __init__(self): self.nodes = [] node3) def add_edge(self
chalis.add_edge(node1, node2) chalis.add_edge(node1, node3)
def add_edge(self, parent, child): parent.children.append(child) child.parent = parent