กำหนดอาเรย์ไบนารี 3D สำหรับแต่ละเลเยอร์หมุนรอบแต่ละคอลัมน์เป็นขั้นตอนหลายขั้นตามที่ระบุโดยการเข้ารหัสไบนารีของคอลัมน์ของเลเยอร์ด้านบนแล้วหมุนวนซ้ายแต่ละแถวตามขั้นตอนตามที่กำหนดโดย การเข้ารหัสแบบไบนารีของแถวของเลเยอร์ด้านล่าง
จะมีอย่างน้อยสามชั้นเสมอ คอลัมน์ของชั้นบนสุดและแถวของชั้นล่างไม่ควรหมุน
เดินผ่าน
เริ่มต้นด้วยอาร์เรย์ขนาดเล็ก 4 ชั้น 2 แถว 3 คอลัมน์:
[[[1,0,1],
[1,0,0]],
[[1,0,1],
[0,1,1]],
[[0,1,1],
[1,1,1]],
[[1,1,0],
[1,1,1]]]
ขั้นตอนแรกคือการประเมินตัวเลขที่เข้ารหัสในเลขฐานสองโดยคอลัมน์และแถวของแต่ละชั้น:
3 0 2
5 [[[1,0,1],
4 [1,0,0]],
2 1 3
5 [[1,0,1],
3 [0,1,1]],
1 3 3
3 [[0,1,1],
7 [1,1,1]],
3 3 1
6 [[1,1,0],
7 [1,1,1]]]
ชั้นแรก[[1,0,1],[1,0,0]]
จะไม่ได้มีคอลัมน์หมุน แต่แถวของมันจะถูกหมุนวนที่เหลือ 5 ขั้นตอนและขั้นตอนที่ 3 [[1,1,0],[1,0,0]]
ตามลำดับจึงกลายเป็น
เลเยอร์ที่สอง[[1,0,1],[0,1,1]]
จะมีคอลัมน์ของมันหมุนเป็นวงกลม 3, 0 และ 2 ขั้นตอนตามลำดับการให้[[0,0,1],[1,1,1]]
และจากนั้นแถวจะหมุนไปทางซ้าย 3 และ 7 ขั้นตอนตามลำดับโดยไม่มีการเปลี่ยนแปลงที่มองเห็นได้
เลเยอร์ที่สาม[[0,1,1],[1,1,1]]
หมุนได้ 2, 1 และ 3 ขั้นตอนยังคงเหมือนเดิมและไม่มีการหมุนซ้ายและขวา 6 และ 7 ขั้นตอนเพื่อทำสิ่งใด
ในที่สุดชั้นที่สี่[[1,1,0],[1,1,1]]
หมุนขึ้นไป 1, 3 และ 3 ขั้นตอนคือ[[1,1,1],[1,1,0]]
แต่แถวของมันจะไม่หมุนหลังจากนั้นเพราะมันเป็นชั้นสุดท้าย
การรวมเลเยอร์ทั้งหมดเข้าด้วยกันอีกครั้งทำให้เรามีอาร์เรย์ 3D หมุนด้วยตนเองแบบไบนารี:
[[[1,1,0],
[1,0,0]],
[[0,0,1],
[1,1,1]],
[[0,1,1],
[1,1,1]],
[[1,1,1],
[1,1,0]]]
ตัวอย่างกรณี:
[[[1,0,1],[1,0,0]],[[1,0,1],[0,1,1]],[[0,1,1],[1,1,1]],[[1,1,0],[1,1,1]]]
จะช่วยให้
[[[1,1,0],[1,0,0]],[[0,0,1],[1,1,1]],[[0,1,1],[1,1,1]],[[1,1,1],[1,1,0]]]
[[[1]],[[1]],[[0]]]
จะช่วยให้
[[[1]],[[1]],[[0]]]
[[[1,0,1],[1,0,1],[1,0,1]],[[0,0,1],[0,0,1],[0,0,1]],[[1,0,0],[1,0,1],[0,0,1]]]
จะช่วยให้
[[[0,1,1],[0,1,1],[0,1,1]],[[0,1,0],[1,0,0],[0,1,0]],[[1,0,1],[1,0,1],[0,0,0]]]
None
ช่วงหั่นสำหรับการหมุนผมเชื่อว่าทั้งสองจะกลายเป็น['0']
[[]]