c00l0ne @ 25.12.2019
как только закончатся роялти у нас уже посчитано запоминаем ... и просто делаем выход из процедуры а рекурентный алгоритм переберет все комбинации после рояля ...
c00l0ne @ 25.12.2019
рекурсия сама упорядочит комбинации
БиллиУбили @ 25.12.2019
да какая тут рекурсия? Собрав рояль на 5 картах, мы из оставшихся собираем не новую фантазию, а её жалкое подобие на 2ух линиях. Поэтому я пока думаю, искать ли просто мах кол-во очков, или собирать все варианты(там ведь и задвоения могут быть)
c00l0ne @ 25.12.2019
второй вариант перебор всех комбинаций и подсчет их роялти
БиллиУбили @ 25.12.2019
простите, какой алгоритм? Это когда в мидл можно собрать любую комбинацию(из 14 карт без 5 карт низа), но потом придётся проверять, младше ли она (текущего) низа? Боюсь, ботоделы будут не в восторге. Перерасход ресурсов, однако
Почему бы сразу не идти по (отсортированным?) комбинациям вверх от того, что у нас лежит внизу и проверять, можем ли мы их собрать из 9 карт.
c00l0ne @ 25.12.2019
полный перебор комбинаций всех карт коих 1 млн из 14 карт
БиллиУбили @ 25.12.2019
Ещё одна идейка к алгоритму рекурсии. Выбрал 5 карт - собрал комбину...и пошло 2 ответвления:
в первом ты её положил в мидл, во втором - вниз.
Первое может закончится очень быстро: собрать комбинацию старше из 9 карт не получится ))
БиллиУбили @ 25.12.2019
В общем, появилась идея. Берём 20(18, 25, не важно) карт(генерируем по рандому) и высылаем всем желающим. Кто первым выложит первые 10правильныхфантазий - тот и победил.
Генерировать и высылать будет судья. Для чистоты эксперимента может быть 3 попытки.
БиллиУбили @ 25.12.2019
почему? можно и сверху начинать. Ведь нет разницы, если на каком-то шаге мы не сокращаем кол-во вычислений.
ты же сам пишешь, на 2ом шаге считаешь все комбинации, не важно, старше они или младше лежащий внизу.
c00l0ne @ 25.12.2019
начинаем со старшей покрутили пару вариков , если увидели что роялти уже сильно упало и смысла дальше варианты перебирать нет ...
БиллиУбили @ 25.12.2019
почему? можно и сверху начинать. Ведь нет разницы, если на каком-то шаге мы не сокращаем кол-во вычислений.
ты же сам пишешь, на 2ом шаге считаешь все комбинации, не важно, старше они или младше лежащий внизу.
c00l0ne @ 25.12.2019
но на п.2 мы вызываем для след бокса п.2
с 64 битными числами быстрее всего работает , но и компилировать необходимо для 64 бит ... у проца специальные команды низкоуровневые есть для работы с 64 битными числами