示例#1
0
        internal int Distance(Nanobot other)
        {
            int dx = this.x - other.x;
            int dy = this.y - other.y;
            int dz = this.z - other.z;

            dx = dx > 0 ? dx : -dx;
            dy = dy > 0 ? dy : -dy;
            dz = dz > 0 ? dz : -dz;
            return(dx + dy + dz);
        }
示例#2
0
        private static int A(string[] input)
        {
            var     bots = input.Select(i => Nanobot.fromString(i)).ToArray();
            Nanobot best = bots[0];

            foreach (var bot in bots)
            {
                if (bot.r > best.r)
                {
                    best = bot;
                }
            }

            return(bots.Count(b => b.Distance(best) <= best.r));
        }