Я могу предоставить вам несколько методов сборки кубика Рубика 2×2, а также примеры кода. Вот фрагмент кода Python, который вы можете использовать:
Метод 1: случайные ходы
import random
moves = ["U", "R", "F"] # List of possible moves: Up (U), Right (R), Front (F)
def scramble_cube():
scramble = []
for _ in range(10): # Perform 10 random moves
move = random.choice(moves)
scramble.append(move)
return " ".join(scramble)
scramble = scramble_cube()
print(scramble)
Метод 2: фиксированная последовательность скремблирования
scramble_sequence = ["R'", "U'", "R", "U", "R'", "U'", "R", "U", "R'", "U'", "R", "U", "R'", "U'", "R", "U"]
def scramble_cube():
return " ".join(scramble_sequence)
scramble = scramble_cube()
print(scramble)
Метод 3: алгоритм теории групп
def apply_move(cube, move):
if move == "U":
cube[0], cube[1], cube[2], cube[3] = cube[1], cube[3], cube[0], cube[2]
elif move == "R":
cube[1], cube[3], cube[5], cube[7] = cube[7], cube[5], cube[1], cube[3]
elif move == "F":
cube[0], cube[2], cube[4], cube[6] = cube[6], cube[4], cube[0], cube[2]
def scramble_cube():
cube = ["W", "W", "W", "W", "G", "G", "G", "G"] # Initial state: White (W) on top, Green (G) in front
moves = ["U", "R", "F"]
scramble = []
for _ in range(10): # Perform 10 random moves
move = random.choice(moves)
apply_move(cube, move)
scramble.append(move)
return " ".join(scramble)
scramble = scramble_cube()
print(scramble)