传送门:点击打开链接
题意:摆放小象,使得所有棋子的攻击范围的位置都是空白
思路:m这么小n这么大很明显是在提示你要用快速幂,问题就在于如何构造矩阵了,然而这题看似矩阵太复杂了,别说的云里雾里,但是仔细一分析,,就是发现并没有那么难..
我们把m看作棋盘的列数,n看作棋盘的行数,下面我们只考虑两行棋子
那么对于相邻两行的同一列的两个位置,现在我们考虑这两个位置可以怎么放。
1.如果这两个位置是在第一列,那么可以是任意的,即4种状态都是可以的,01,10,11,00
2.如果不是在第一列,设当前在第i列
首先,无论之前是什么情况,第i列可以都不放,也可以都放
除了上面两种摆放方法外,那么剩下的摆放方法跟跟i-1列已经放的棋子是有联系的
如果i-1列的两个位置的状态是一样的,即都放了棋子,或者都没放棋子,那么对于第i列,我就可以在第i列中选择其中一个位置摆放棋子,另一个位置不摆放棋子
如果i-1列的两个位置状态不一样,也就是说,一个摆放了棋子,一个没有摆放棋子,那么在第i列,在i-1列摆放了棋子的右边那个位置是可以摆放棋子的,对应的另一行的位置是不能摆放棋子的