Так как стеллажи бильярдных шаров для игры с 8 мячами можно выполнять по нескольким правилам, здесь стеллаж я называю:
то есть. 8-шар должен находиться в центре, а по бокам полосы и твердые тела должны чередоваться. Два оставшихся шара (полоса и твердое тело) не имеют значения.
Предположим, вы только что закончили игру, собрали шарики, положили их в стойку и приступили к их созданию, чтобы начать новую. Теперь они в случайном порядке. Как вы продолжаете?
Отказ от ответственности: paint art следует
Простой подход должен начинаться по порядку, сверху → снизу и слева → справа.
Так, например, предположим, что 1
находится в правильном положении. 5
нет, мы поменяем его на 2
, затем заменим 4
на 3
(или с помощью 8
), но это уже будет неэффективно, потому что мы либо переместили 4
в центр или 8
в позиции 4
- то есть не там, где он должен быть в конце.
Также есть решение о том, какие типы шаров мы хотим в углах. Как вы решаете это заранее? Если вы принимаете во внимание, сколько шаров уже на месте? В моем примере, если вы хотите, чтобы серые были в углах, у вас уже есть 3 на месте (шары 1,10,14). Если вы хотите белых в углах, у вас всего 2 из них на месте (2,11). В этом случае?
Чтобы формализовать это, мы можем предположить, что мы можем выполнить три операции two:
- замените два соседних шара
- замените два несмежных шара
- вращающаяся стойка
Так как мы можем использовать обе руки, допустим, что мы можем параллелизовать первую операцию (одновременно менять пару шаров), тогда как мы можем менять только два несмежных шара за раз.
Какой подход лучше всего подходит для этой задачи, которая минимизирует время (в описываемых единицах времени)? Будет ли жадно быть лучше для этого? (он, как я это делаю, когда я их разбиваю, я думаю)
РЕДАКТИРОВАТЬ: согласно существующим (или предыдущим ответам) - вы можете предположить, что в углах больше полос, чем твердые тела, означает, что шаги предпочтут углы - не сказать, что это неверно, но если вы сделаете это предположение, пожалуйста, подтвердите это.