This commit is contained in:
krahets
2026-08-18 03:09:26 +08:00
parent 0375f25b66
commit fde23f369e
158 changed files with 312 additions and 282 deletions
@@ -4828,7 +4828,7 @@
<h3 id="1">1. &nbsp; Обрезка повторного выбора<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
<p>Чтобы гарантировать, что каждый элемент выбирается только один раз, введем булев массив <code>selected</code> , где <code>selected[i]</code> обозначает, был ли уже выбран <code>choices[i]</code> , и на его основе выполним следующую обрезку.</p>
<ul>
<li>После того как сделан выбор <code>choice[i]</code> , мы присваиваем <code>selected[i]</code> значение <span class="arithmatex">\(\text{True}\)</span> , тем самым отмечая, что этот элемент уже выбран.</li>
<li>После того как сделан выбор <code>choices[i]</code> , мы присваиваем <code>selected[i]</code> значение <span class="arithmatex">\(\text{True}\)</span> , тем самым отмечая, что этот элемент уже выбран.</li>
<li>При обходе списка вариантов <code>choices</code> пропускаем все уже выбранные элементы, то есть выполняем обрезку.</li>
</ul>
<p>Как показано на рисунке 13-6, если в первом раунде мы выберем 1 , во втором - 3 , а в третьем - 2 , то во втором раунде нужно отсечь ветвь элемента 1 , а в третьем - ветви элементов 1 и 3 .</p>