← RoseCode

ROSECODE 247

多联骨牌 1

Polyominoes 1

Philippe_57721 · 编程 ·

多格骨牌是通过将相等的正方形逐条连接而获得的几何图形。
我们认为每个正方形的一侧都被涂漆:当比较两个多骨牌的对称性时,涂漆的一侧必须始终保持向上。
如果两个多联骨牌仅相差 π2 倍数的旋转,则它们相等

为了对多联骨牌进行排序,我们将多联骨牌的“规范值”定义如下:
  • 多联骨牌由 0 和 1 矩阵表示
  • 我们考虑所有 4 旋转并保留矩阵中的那些旋转,例如行数是 列数。
  • 我们在末尾添加一列 0,压平这些值并将它们视为某个整数的二进制表示。规范值为 这些整数中最小的.
例如,考虑多米诺骨牌
它可以表示为 (001111) 或通过 (111100)

第一个表示产生值 {0,0,1,0,1,1,1,0} = 46
第二种表示产生值 {1,1,1,0,1,0,0,0} = 232
因此,该多骨牌的规范值为 46。

对于 4 方块,有 7 可能的多联骨牌(按其规范值排序):
  • 30
  • 46
  • 54
  • 78
  • 108
  • 142
  • 198

有多少张带有 8 方格的多骨牌?
666-th 聚骨牌的标准值是多少?

格式答案:计数、值

[我的计时:40秒]