алгоритмическая задачка
Apr. 23rd, 2008 12:17 am(будет интересно только программистам)
На работе рассказали интересную задачу. Пусть дан прямоугольный лист металла известных размеров. Из-за дефектов производства на листе есть точки, в которых металл слишком слаб - дан список таких точек, с координатами каждой. Задача: найти наибольший по площади прямоугольник внутри листа, не содержащий ни одной дефективной точки внутри себя (на границе - можно).
Искать следует только среди прямоугольников со сторонами, параллельными исходному (более общий вопрос, в котором искомый прямоугольник может быть повернут относительно всего листа, можно считать отдельной задачей - ее я вообще не знаю, как решать).
На работе рассказали интересную задачу. Пусть дан прямоугольный лист металла известных размеров. Из-за дефектов производства на листе есть точки, в которых металл слишком слаб - дан список таких точек, с координатами каждой. Задача: найти наибольший по площади прямоугольник внутри листа, не содержащий ни одной дефективной точки внутри себя (на границе - можно).
Искать следует только среди прямоугольников со сторонами, параллельными исходному (более общий вопрос, в котором искомый прямоугольник может быть повернут относительно всего листа, можно считать отдельной задачей - ее я вообще не знаю, как решать).
Не NP Меньше или равно N^6
Date: 2008-04-24 01:57 pm (UTC)Перебор всех поворотов и соответствующих описанных прямоугольников для каждой четверки. Число поворотов - O(N). На каждом повороте определяется входит ли какая либо точка в прямугольник - O(N)
Re: Не NP Меньше или равно N^6
Date: 2008-04-24 02:00 pm (UTC)