互不侵犯 展開
題目描述
在n×n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。
注:資料有加強
輸入格式
只有一行,包含兩個數n,k ( 1 <=n <=9, 0 <= k <= n * n)
輸出格式
所得的方案數
輸入3 2
輸出16
一道入門級別的狀壓dp
#include
using
namespace std;
int n,k;
int cnt=0;
const
int maxn=
2005
;long
long sumking[maxn]
;long
long ez[maxn]
;//二進位制表示每一行的位置放不放king
long
long dp[12]
[maxn]
[105];
void
dfs(
int x,
int num,
int cur)
dfs(x,num,cur+1)
;//不選當前的king
dfs(x+(1
<,num+
1,cur+2)
;//選當前的king,則後乙個不能選了
}int
main()
for(
int i=
1;i<=n;i++)}
}}long
long ans=0;
for(
int i=
1;i<=cnt;i++
) cout
}
SCOI2005 互不侵犯
在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。只有一行,包含兩個數n,k 1 n 9,0 k n n 方案數3 2 同sgu223 include include include include ...
SCOI2005 互不侵犯
題目描述 在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。輸入格式 只有一行,包含兩個數n,k 1 n 9,0 k n n 輸出格式 所得的方案數 ly最可愛啦 這題。想了5分鐘,寫了10分鐘,調了...
SCOI2005 互不侵犯
在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。兩個數n,k 1 n 9,0 k n n 方案數。3 2果然啊 狀壓題都是乙個套路 和前面那個noi的題是乙個套路 具體實現也基本一樣 就是記錄的狀態...