传送门 勉强算一道dp好题。 显然第 k k k列和第 k + n k+n k+n列放的棋子数是相同的。 因此只需要统计出前 n n n列的选法数。 对于前 m m m% n n n列,一共有 ( m − 1 ) / n + 1 (m-1)/n+1 (m−1)/n+1列跟它放的棋子数一定相同。 而对于第 m m m% n + 1 n+1 n+1~ n n n列,一共有 m / n m/n m/n列跟它放的棋子数一定相同。 因此枚举当前在第几列,一共放了几个棋子,然后用背包+快速幂优化转移就行了。 代码