有如下的八种拼图块,每块都是由八块小正方块构成,
这些拼图块刚好可以某种方式拼合放入给定的目标形状,
请以C或C++编程,自动求解 一种拼图方式
目标拼图:
从拼图块和目标图形中我们可以发现目标图形是8*8=64个方块,也就是目标图形需要使用上述8中拼图进行拼接,每个使用一次。
思路:
要拼成目标图形,需要从所有的拼图块中选择7块拼成一个7*8或者8*7的长方形,然后剩下的一块作为顶部的拼图块。每种拼图块在一个目标图形中只能占用一次。
本篇以从所有拼图块中选取7块实现7*8长方形目标图形,输出所有的目标图形为目标。
1、拼图块状态数组
每种拼图块只能使用一次,因此需要声明一个数组用来存储拼图块的占用情况,拼图块使用状态初始值全部为0