题解:
显然问题就是一行一列最多只能放两个棋子,求方案数
dp:f[i][j][k]表示前i行已经有j列有一个棋子,k列有两个棋子的方案数
那么第i行可以不放棋子、放一个棋子、放两个棋子。
其中,棋子可以放在原来没有棋子的某一列上,也可以放在已经有一个棋子的某一列上。但是已经有两个棋子的列上是不能放的。
然后要分6种情况讨论下。这里想法其实不难,但是容易乱……我还wa了一次
1、不放
2、一个棋子,放在原来没棋子的某一列上
3、一个棋子,放在原来有一个棋子的某一列上
4、两个棋子,一个在原来没棋子的列上,一个在原来一个棋子的列上
5、两个棋子,都放在原来没棋子的列上
6、两个棋子,都放在原来一个棋子的列上
</