<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3804321</guid>
        <pubDate>Sat, 20 Jul 2019 17:31:05 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3804321</link>
        <description><![CDATA[swf: Самый простой случай задачи на построение потока, конечно. Но при построении потока никак не используется наличие эвклидовой метрики.<br>
Только чтобы вычислить все расстояния, уже нужно O(n<sup class='tag-sup'>2</sup>)операций.<br>
Может, там и расстояния вычислять не нужно?]]></description>
        <author>swf</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3804310</guid>
        <pubDate>Sat, 20 Jul 2019 15:41:18 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3804310</link>
        <description><![CDATA[amk: В принципе это обычная задача о минимальном паросочетании, распределении работ или транспортная задача (в принципе все эти задачи легко сводятся друг к другу, даже Тр.З. в случае целочисленных объёмов даёт целочисленный ответ).<br>Для каждого ребра вводится вес: если надо минимизировать сумму проходимых расстояний это сами расстояния, если сумму квадратов, то квадраты расстояний.<br>Сложность представляет случай, когда минимизировать надо максимальное расстояние, так как в этом случае надо в качестве весов использовать бесконечные степени расстояний. Однако хорошее приближение получается, если использовать просто большую степень. А можно исхитриться и поработать с самими бесконечными степенями. Ведь там в алгоритмах фигурируют всего лишь суммы (разности) не более чем четырёх весов. И интерес представляют не сами суммы/разности, а только их знаки.]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3803657</guid>
        <pubDate>Sat, 13 Jul 2019 07:15:02 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3803657</link>
        <description><![CDATA[swf: Неправильно граф построила, извиняюсь.<br>
Ещё надо исключить случай, когда два человека идут в одно убежище. Чтобы в такой ситуации также образовывался цикл, соединим всех людей с помощью линейного графа, стоимости рёбер + бесконечность.<br>
Вот теперь в минимальное дерево войдёт линейный граф нулевой стоимости, соединяющий убежища, и рёбра, соединяющие людей и убежища. Можно сказать, перестановка, каждому человеку соответствует ровно одно убежище. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-07-13T07:25:16+00:00">13.07.19, 07:25</time></span></span><br>
Нет, эти рёбра бесконечной стоимости просто не войдут в минимальное дерево. То есть случай, когда два человека идут в одно убежище, остаётся.<br>
С минимальным деревом не получилось.<br>
--------------------------------------------------------------<br>
Вот что точно здесь будет работать - это алгоритм построения потока минимальной стоимости.<br>
Фиктивный источник соединяется с людьми, дуги стоимости 0, пропускной способности 1. <br>
Люди соединяются с убежищами, стоимость дуги = расстоюнию, пропускная способность равна 1.<br>
Убежища соединяются с фиктивным стоком, дуги стоимости 0, пропускной способности 1.<br>
Строим поток минимальной стоимости за то ли O(n<sup class='tag-sup'>3</sup>) , то ли O(n<sup class='tag-sup'>4</sup>), не помню.<br>
Но для указанной размерности всё равно много.]]></description>
        <author>swf</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3803594</guid>
        <pubDate>Fri, 12 Jul 2019 19:15:25 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3803594</link>
        <description><![CDATA[swf: Добрый вечер.<br>
<br>
Задачу можно свести к построению дерева минимальной стоимости.<br>
Строим двудольный граф n (люди) X n (убежища) вершин.<br>
Соединяем каждого человека со всеми убежищами, стоимость ребра равна расстоянию. <br>
Убежища нумеруем и соединяем последовательно в порядке возрастания, получаем n-1 ребро, стоимость каждого ребра полагаем равной 0.<br>
Построение графа требует O(n<sup class='tag-sup'>2</sup>)шагов.<br>
<br>
Теперь строим каркас (стягивающее дерево) минимальной стоимости. Вроде это можно за O(lg n) сделать.<br>
Ну, тут нужно рассмотреть способы соединения. Каждый человек должен соединяться хотя бы с одним убежищем. <br>
Если один человек будет соединён больше чем с одним убежищем, то рёбра нулевой стоимости будут замещаться &quot;лишними&quot; рёбрами ненулевой стоимости. <br>
Поэтому в минимальном стягивающем дереве каждый человек будет соединён ровно с одним убежищем, все убежища будут соединены линейным графом нулевой стоимости, и стоимость дерева равна суммарному расстоянию.]]></description>
        <author>swf</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3780180</guid>
        <pubDate>Sat, 06 Oct 2018 19:03:54 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3780180</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3780171'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Tiranas &#064; <time class="tag-quote__quoted-time" datetime="2018-10-06T13:49:05+00:00">06.10.18, 13:49</time></span><div class='quote '>Я бы сделал проще, разбил на сектора, принадлежащие тому или иному убежищу и все дела.</div></div> Ага, теперь предложи разумный алгоритм разбивки на сектора. Речь здесь идёт не об организации спасения людей в убежища (оповещении и т.п., об этом пусть ГО думает), а об <strong class='tag-b'>оптимальном</strong> распределении их по убежищам.]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3780171</guid>
        <pubDate>Sat, 06 Oct 2018 13:49:05 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3780171</link>
        <description><![CDATA[Tiranas: Я бы сделал проще, разбил на сектора, принадлежащие тому или иному убежищу и все дела.<br>Если ресурсы позволяют, можно сделать их немного перекрывающимися, для реалистичности.<br>Вот тоже намутили.  ;)]]></description>
        <author>Tiranas</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776172</guid>
        <pubDate>Mon, 13 Aug 2018 11:21:34 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776172</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776164'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T07:30:23+00:00">13.08.18, 07:30</time></span><div class='quote '>задача еще люто усложнится, если должно выполняться условие L(max)/L(min) &lt;= 2 (т е отношение расстояние самого большого к самому малому не превосходит 2</div></div><br>
Это да - вероятно, в такой формулировке без перебора не решится<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776164'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T07:30:23+00:00">13.08.18, 07:30</time></span><div class='quote '> есть препятствия на поле + у людей разный вес ---&#62; различная скорость </div></div><br>
Это не влияет - просто вычисляешь время в пути в соответствии с этими условиями и решаешь всё той же венгеркой.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776168</guid>
        <pubDate>Mon, 13 Aug 2018 10:17:30 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776168</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776161'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T06:49:37+00:00">13.08.18, 06:49</time></span><div class='quote '>спастись должны ВСЕ люди, т е все N человек</div></div><br>
В условии этого нет. А что они там хотят - дело десятое. Ну да ладно.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776164'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T07:30:23+00:00">13.08.18, 07:30</time></span><div class='quote '>+ есть препятствия на поле + у людей разный вес ---&#62; различная скорость перемещения</div></div><br>
Не влияет, от слова &quot;совсем&quot;. На этапе построения ты препятствия учитываешь, а скорости тут в принципе не влияют (впрочем, если ставится задача достижения убежища не более чем за заданное время - просто те убежища, что для заданного чела далековаты при его скорости, объявляются недостижимыми...) - либо вместо расстояний критерием становится время достижения.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776164'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T07:30:23+00:00">13.08.18, 07:30</time></span><div class='quote '>задача еще люто усложнится, если должно выполняться условие L(max)/L(min) &lt;= 2 (т е отношение расстояние самого большого к самому малому не превосходит 2)</div></div><br>
Скорее наоборот - ведь при этом часть маршрутов (те, что длиннее двух текущих минимумов) просто объявляются недостижимыми. Если решение не найдено - минимум объявляется недостижимым, и выполняется пересчёт с новыми условиями. В принципе это просто изменение порядка просчёта по переборному алгоритму, да к тому же сопровождающееся уменьшением количества значимых элементов матрицы.<br>
<br>
В принципе можно взять такую интерпретацию решения - менять местами строки (столбцы), минимизируя сумму элементов главной диагонали.]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776164</guid>
        <pubDate>Mon, 13 Aug 2018 07:30:23 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776164</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776163'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MBo &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T07:21:27+00:00">13.08.18, 07:21</time></span><div class='quote '>Задача называется Euclidean assignment problem или Euclideam bipartite (perfect) matching problem.<br>
<br>
Судя по тому, что проблему 250 лет изучают, и всё ищут приличные эвристики, она не проста.</div></div><br>
<br>
о&#33; спс. <strong class='tag-b'>MBo</strong> за науку  ;) <br>
Ну, то бишь, нужно смотреть в сторону &quot;Венгерского&quot; алгоритма.<br>
<br>
ЗЫ: как я понимаю, задача еще люто усложнится, если должно выполняться условие L(max)/L(min) &lt;= 2 (т е отношение расстояние самого большого к самому малому не превосходит 2) + есть препятствия на поле + у людей разный вес ---&#62; различная скорость перемещения]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776163</guid>
        <pubDate>Mon, 13 Aug 2018 07:21:27 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776163</link>
        <description><![CDATA[MBo: Задача называется Euclidean assignment problem или Euclideam bipartite (perfect) matching problem.<br>
<br>
Судя по тому, что проблему 250 лет изучают, и всё ищут приличные эвристики, она не проста.<br>
<br>
Венгерский алгоритм будет работать кубическое время, что для указанных ограничений много, как <br>
<strong class='tag-b'>OpenGL</strong> уже сказал. <br>
<br>
На <a class='tag-url' href='http://e-maxx.ru/algo/kuhn_matching#7' target='_blank'>e-maxx</a> упоминается &quot;улучшенная реализация&quot;, которая использует построенное эвристически какое-то решение и оптимизирует его. Не знаю, насколько это ускорит в данном случае.]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776162</guid>
        <pubDate>Mon, 13 Aug 2018 07:14:04 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776162</link>
        <description><![CDATA[OpenGL: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Оффтоп</div><div class="body">Это вообще странный критерий - минимальность суммы расстояний. Логичнее минимизировать максимальное расстояние. И то только при условии, что все люди идут с одинаковой скоростью  :D </div></div>]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776161</guid>
        <pubDate>Mon, 13 Aug 2018 06:49:37 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776161</link>
        <description><![CDATA[FasterHarder: <strong class='tag-b'>Akina</strong><br>
)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776158'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2018-08-13T04:29:44+00:00">13.08.18, 04:29</time></span><div class='quote '>То есть оптимальным НЕ подразумевается спасение максимально возможного количества людей? </div></div><br>
спастись должны ВСЕ люди, т е все N человек&#33;]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776158</guid>
        <pubDate>Mon, 13 Aug 2018 04:29:44 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776158</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-12T20:20:12+00:00">12.08.18, 20:20</time></span><div class='quote '>Под оптимальностью понимается, что суммарное расстояние пройденной всеми людьми будет МИНИМАЛЬНЫМ.</div></div><br>
То есть оптимальным <strong class='tag-b'>НЕ </strong>подразумевается спасение максимально возможного количества людей? <br>
<br>
В таком случае решение тривиально. Никто никуда не бежит, расстояние равно нулю, меньше некуда. Всё.]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776157</guid>
        <pubDate>Mon, 13 Aug 2018 04:06:27 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776157</link>
        <description><![CDATA[OpenGL: Пока в голову приходит только <a class='tag-url' href='http://e-maxx.ru/algo/assignment_hungary' target='_blank'>Задача о назначениях</a>. Ограничения для неё великоваты, но это по крайней мере полиномиальное решение.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776153</guid>
        <pubDate>Mon, 13 Aug 2018 01:10:36 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776153</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-12T20:20:12+00:00">12.08.18, 20:20</time></span><div class='quote '>4. Взять 1-го человека и найти от него ближайшее бомбоубежище, потом 2-го и для него найти ближайшее и т.д. Но вроде это чешуя</div></div>Да, плохой способ. Достаточно посмотреть на прямой:<br>
2 бомбоубежища: 0 и 2; 2 человека 1+ε и K(большое).<br>
Получится по этому алгоритму: d = 2-(1+ε) + K = <strong class='tag-b'>K+1-ε</strong>, а настоящее минимальное (первый пошёл в 0) будет: 1+ε + K-2 = <strong class='tag-b'>K-1 + ε</strong>, что короче (ε - мало́)&#33; (Чтобы всё было в целых можно отмасштабировать). <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-08-13T01:30:48+00:00">13.08.18, 01:30</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413388&view=findpost&p=3776113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2018-08-12T20:20:12+00:00">12.08.18, 20:20</time></span><div class='quote '>2. Использовать графы. Но какого типа графа? И какой алгоритм применить?</div></div>Элементарно Гамильтонов цикл:<br>
1. Меж всеми бомбоубежищами делаем архикрохотное расстояние (в графе устанавливаем расстояние для ребра), меж всеми людьми тоже.<br>
2. Ищем гамильтонов цикл, глядя на который получаем нужные пары.<br>
3. Для целочисленности всё надо будет сильно отмасштабировать&#33;.. :)]]></description>
        <author>Славян</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776113</guid>
        <pubDate>Sun, 12 Aug 2018 20:20:12 +0000</pubDate>
        <title>Алгоритм спасения людей от ядерной бомбы в бомбоубежищах</title>
        <link>https://forum.sources.ru/index.php?showtopic=413388&amp;view=findpost&amp;p=3776113</link>
        <description><![CDATA[FasterHarder: Всем хай&#33; Сходу к делу&#33;<br>
<span class="tag-color tag-color-named" data-value="blue" style="color: blue">Постановка задачи: на координатной бесконечной плоскости есть N человек и N бомбоубежищ (10 &lt;= N &lt;= 1 000 000)&#33; Все эти объекты (чел. и бомбуб.) задаются двумя целочисленными координатами (x, y). В одно бомбоубежище помещается строго один человек. В случае ядерного удара все люди типа хотят остаться в живых и спрятаться в бомбоубежищах. Нужно оптимальным образом  доставить каждого человека до бомбоубежища. Под оптимальностью понимается, что суммарное расстояние пройденной всеми людьми будет МИНИМАЛЬНЫМ.</span><br>
<br>
я хотел поинтересоваться насчет алгоритма:<br>
1. Понятно, что можно запустить полный перебор, но для случая N = 1 000 000 получаем N&#33; вариантов - не вариант, т к потребуются &quot;миллиарды&quot; лет для перебора)<br>
2. Использовать графы. Но какого типа графа? И какой алгоритм применить?<br>
3. Что-то мутить на списках с последующей сортировкой.<br>
4. Взять 1-го человека и найти от него ближайшее бомбоубежище, потом 2-го и для него найти ближайшее и т.д. Но вроде это чешуя + нужно доказать, что это даст оптимальное решение.<br>
<br>
Подскажите, куда копать, что грызть...]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	