Решение кубика Рубика в Java

Я, как говорится в заголовке, пишу метод решения кубика Рубика в Java, и я сталкиваюсь с некоторыми трудностями. Я пытаюсь реализовать Алгоритм Коциембы, и для этого я слежу за этой статьей (конкретная часть написана примерно на 2/3 ниже). Однако в коде есть оператор if с условным subgoal reached, Я не понимаю, как я могу это проверить, потому что подцели на самом деле не определены. Поэтому, если бы кто-то мог объяснить мне, как я могу проверить, достиг ли куб подзадачи, или предоставить какой-нибудь другой учебник, я был бы очень благодарен. Спасибо заранее за вашу помощь.

1 ответ

На самом деле это не имеет ничего общего с Java. Я объясню, что такое подцель. По сути, чтобы завершить куб, вы хотите преобразовать его в определенное состояние. Это конечная цель. Подцель - это промежуточное состояние, которого вы хотите достичь. Я предполагаю, что вы знаете, как решить кубик Рубика. С полностью зашифрованным состоянием подзадача могла бы состоять в том, чтобы поставить все белые краевые части на место. Таким образом, вы продолжаете циклическую фазу, пока не достигнете этой подцели, а затем начинаете следующую фазу, которая может быть чем-то вроде "поместите все белые углы в правильное место".

Другие вопросы по тегам