public void IdentifyAllChildren() { foreach (var child in OrbitedBy) { child.IdentifyAllChildren(); } Children = new HashSet <string>(OrbitedBy.Select(ob => ob.Name).Concat(OrbitedBy.SelectMany(ob => ob.Children))); }
public int Part1(int depth) => depth + OrbitedBy.Sum(ob => ob.Part1(depth + 1));
public void AddOrbitedBy(Planet orbitedBy) { OrbitedBy.Add(orbitedBy); orbitedBy.SetInOrbit(this); }