Я работал над проблемой, которая связана с polyominos , за исключением того, что есть ловушка: каждый, который мы назовем их N (количество квадратов) -D-Polyominos, должен иметь хотя бы одно строго (не мостовое) диагональное соединение. Например: (O означает отсутствие квадрата, а X - квадрат).
---- ---- ----
-XX- is not a 2-D-Polyomino -XO- is a valid 2-D-Polyomino -XX- is not a 3-D-Polyomino
-OO- (it has no diagonal) -OX- (strict Diagonal) -XO- (top left X is bridging)
---- ---- ----
Цели:
- Найти все ND-Полиномы (N до 12)
- Найдите число ND-Полиномов (N до 24)
Я уже пытался создать алгоритм, чтобы найти его, и я могу подтвердить эти значения:
- N= 2 имеет 1 решение
- N = 3 имеет 3 решения
- N = 4 имеет 15 решений (не уверен насчет этого)
Примечания / Дополнительно (простона случай, если вы запутались):
OXO XOX XOO XXO
XOX XXO OXX OXO
OXO XOO OXX OOX
Все вышеперечисленное является допустимым D-Polyominos.
В идеальном случае алгоритм на Java, но я могу использовать любой объектно-ориентированный код языка.