需要以下算法的帮助:
我需要一种算法来在网格上排列M个块,使它们保持连接(共享边缘或角落)。这些安排应该是独特的,以便通过旋转或镜像,不能得到相同的安排。
例如,对于M = 3,安排是:
o o o
-----
o
o o
------
o
o o
------
o
o
o
------
o o
o
------
我需要用C语言编写一个程序:
- the number of such arrangements
- print the arrangements as above
任何想法都将不胜感激。