public static void Main(string[] arguments) { if (arguments.Length != 1) { Console.WriteLine("Expected 1 parameter: path to the file with test case data."); return; } using (var scenarioReader = new ScenarioReader(new StreamReader(arguments[0]))) { foreach (var scenario in scenarioReader.EnumerateScenarios()) { Utilities.EnsureAllPositionsAreValid(scenario.BombPositions, SpaceSize); var octree = new Octree(SpaceSize); var furthestOctant = octree.GetFurthestOctant(scenario.BombPositions); /* var safestPoint = furthestOctant.Item1.Center; Console.WriteLine("Safest point: ({0}, {1}, {2}), distance to closest bomb: {3}.", Math.Round(safestPoint.X), Math.Round(safestPoint.Y), Math.Round(safestPoint.Z), Math.Round(furthestOctant.Item2)); */ // Requirement: // Output T integers, one per test case each on its own line, representing the square of distance to the // nearest bomb from the safest point in the cube. Console.WriteLine(Math.Round(furthestOctant.Item2 * furthestOctant.Item2)); } } }