1. 把n*m的棋盘分成1*2的长方形,问能有多少种方案。
思路:先列举每列伸出来的小方格数。对每一列,先横着摆,再竖着摆。方案的数量满足:连续的空余的方格数是2的倍数,
先进行预处理,判断每个方案是否合法。
f[i][j] i表示每一列,j表示状态就是每一列的摆放0和1组成的数。枚举所有种状态,看每一列是否满足条件。还要存上一列伸出的小方格的位置。最后一列保证没有伸出的小方格。
最后一位&1,如果是0就是偶数,如果是1就是奇数
1. 把n*m的棋盘分成1*2的长方形,问能有多少种方案。
思路:先列举每列伸出来的小方格数。对每一列,先横着摆,再竖着摆。方案的数量满足:连续的空余的方格数是2的倍数,
先进行预处理,判断每个方案是否合法。
f[i][j] i表示每一列,j表示状态就是每一列的摆放0和1组成的数。枚举所有种状态,看每一列是否满足条件。还要存上一列伸出的小方格的位置。最后一列保证没有伸出的小方格。
最后一位&1,如果是0就是偶数,如果是1就是奇数