protected bool Equals(Disc other) { return(string.Equals(Name, other.Name)); }
private static int TowerWeight(Disc start) { var(_, visited) = start.DepthFirst(n => n.Parents); return(visited.Sum(p => p.Weight)); }