洛谷 P1896:[SCOI2005] 互不侵犯 ← 状态压缩DP
【题目来源】
【题目描述】
在 N×N 的棋盘里面放 K 个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共 8 个格子。
【输入格式】
只有一行,包含两个数 N,K。
【输出格式】
所得的方案数。
【输入样例】
3 2
【输出样例】
16
【数据范围】
对于全部数据,1≤N≤9,0≤K≤N×N。
【算法分析】
● dp[i][cur][j] = 前 i 行摆放完毕,第 i 行状态为 cur,总共放了 j 个国王的合法方案数目。
● 状态转移方程里的三重判断
【算法代码】
【参考文献】

浙公网安备 33010602011771号