Если вы настаиваете на выполнении шага 1 как первое, что делаете, вы создаете себе проблемы.Просто с вычислительной точки зрения неэффективно подходить к проблеме с этой точки зрения.То, что вы в конечном итоге сделаете с таким подходом, - это попробовать все комбинации замен для джокеров.Это плохая идея.
Вот альтернативный подход, который будет работать без особых усилий:
- Содержит ли группа 0 или 1 не джокера, и содержит ли группа хотя бытри фигуры, затем успех.
- Все ли цвета не-джокеров имеют одинаковый цвет, а затем успех.
- Все ли фигуры лежат так (1, 2, джокер, 4), где всеДжокеры автоматически принимают значение на единицу выше предыдущего.Если это так, то успех.
- Если ничего из вышеперечисленного не было правдой, то не получилось.
Выполните все эти проверки по очереди, и вы обнаружите, является ли группа фигурдопустимая группа.
Для шага 3 в этом, вы должны учитывать, что некоторые последовательности могут быть обратными, скажем (джокер, 3, 2, 1).чтобы обнаружить такие случаи, вы можете выполнить быстрое сканирование не-джокеров, чтобы увидеть, увеличиваются ли они или уменьшаются, а затем учесть это (тогда джокеры будут иметь значение на единицу меньше предыдущего).
Обратите внимание, что только на шаге 2 значимы цвета, и только на шаге 3 значимы цифры.