Проблема, связанная с прямоугольными координатами. Какой алгоритм лучше? - PullRequest
0 голосов
/ 07 ноября 2019

Я только начал решать проблемы и наткнулся на этот вопрос. Не могу понять алгоритм. В 1-м квадранте прямоугольных координат есть разные точки и линии. Линии (окна) являются пареллами к оси X или оси Y. Линия (окно) формируется путем объединения двух заданных точек, а линии (Окно) не пересекаются друг с другом. Огонь начинает распространяться снаружи и линия (окно) с огнем на одной стороне, и никакой огонь на другой стороне не сломается. Выход - это общее количество безопасных строк (окон). координаты x, y варьируются от 0 до 10000. Мой подход заключается в использовании рекурсии. Эти изображения могут дать лучшее понимание: Изображение показывает состояние во время = 0 Изображение 2 показывает состояние после того, как внешние окна разбиты Изображение 3 показывает конечное состояние

fn(windows[])
{
if window is part of outermost_loop
    window is broken 
if (no of windows remaining == no of windows from prev iteration)
  {
    break;
   }
else
  {
   fn(remaining_windows[]);
  }
}

Есть ли способ выяснить, находится ли окно в самом внешнем цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...