Mơкpенькaя kиcoньka
Ребятааа, хелп! Целую неделю сижу и совсем не понимаю, как подступиться и что делать с заданием 😭. Понимаю, что нужно:
1. Отсортировать списки по возрастанию и присвоить индексы бомбоубежищам и селениям
2. Перебором найти ближайшее число к бомбоубежищу
3. Вывести ответ по индексу
И собственно дальше первого пункта не продвинулась. Потому что вообще не понимаю как и что работает. Лямбдой пользоваться нельзя
#вопрос как вычислить/записать это самое ближайшее расстояние от бомбоубежища до селения
вообщем по идее она решается так -
1) создать словарь для селений и словарь для бомбоубежищ по типу - ключ это расстояние до старта, а значение это индекс
2) дальше идя по отсортированному списку ключей селений поддерживать два указателя на ближайшие бомбоубежища к этому селению(одно которое ближе к старту другое которое дальше чем селение), на каждом шагу их обновлять(если это возможно) чтоб не стартовался перебор со старта.
3) связать индекс текущего селения и ближайшего к нему бомбоубежища с помощью еще одного словаря, а далее выводить по отсортированному списку ключей этого финального словаря .
Такое решение я вижу если числа не отсортированы изначально. Если подаются значения по возрастанию то асимптотика получше получается ведь не нужно сортировать это все несколько раз, тогда можно и без словаря обойтись обычным списком с расстояниями, а индекс будет номер в списке