题目
输入n、w、h($1\leqslant n \leqslant 10, 1\leqslant w,h \leqslant n$),求能放在w*h网格里的不同的n连块的个数(注意,平移、旋转、翻转后相同的算作一种)。例如,2*4里的5连块有5种(第一行),而3*3里的8连块有以下3种(第二行),如图所示。
题解
判重部分有点难……茫然
看了紫书
平移可以强制整个图放左上角
旋转和翻转比较不好判断= =
因为旋转加翻转可能有多种情况(不知道有8种),害怕太慢不敢写
但输入比较少,直接打表
代码就不贴了,太丢人了(记下思路= =)
教训
1.应该先用stl枚举下最大输入的情况数,然后开数组
2.因为有旋转,宽度和高度最后再考虑
3.直接存每个点的坐标,用矩阵存不好枚举