def add_edge(self, parent, child): parent.children.append(child) child.parent = parent
# Update bacchon ka index for child in node.children: self.dfs(child) node.index = max(node.index, child.index + 1)
class Chalis: def __init__(self): self.nodes = []
def dfs(self, node): # Update node ka index node.index = len(node.children)
def last_local_update(self): for node in self.nodes: if node.parent is None: self.dfs(node)
def add_edge(self, parent, child): parent.children.append(child) child.parent = parent
# Update bacchon ka index for child in node.children: self.dfs(child) node.index = max(node.index, child.index + 1)
class Chalis: def __init__(self): self.nodes = []
def dfs(self, node): # Update node ka index node.index = len(node.children)
def last_local_update(self): for node in self.nodes: if node.parent is None: self.dfs(node)