示例#1
0
文件: Solver.cs 项目: nitell/AoC2020
        public IEnumerable <Coordinate4> GetNeighbors(Coordinate4 c)
        {
            var permutations = new[] { -1, 0, 1 }.SelectMany(x => new[] { -1, 0, 1 }.Select(y => (x, y))).SelectMany(o => new[] { -1, 0, 1 }.Select(z => (o.x, o.y, z))).SelectMany(o => new[] { -1, 0, 1 }.Select(w => (o.x, o.y, o.z, w)));

            return(permutations.Where(o => o != (0, 0, 0, 0)).Select(o => new Coordinate4(c.X + o.x, c.Y + o.y, c.Z + o.z, c.W + o.w)));
        }
示例#2
0
文件: Solver.cs 项目: nitell/AoC2020
 public bool IsActive(Coordinate4 c)
 {
     return(_grid.Contains(c));
 }