題目描述
在n×n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。
輸入格式:
只有一行,包含兩個數n,k ( 1 <=n <=9, 0 <= k <= n * n)
輸出格式:
所得的方案數
ly最可愛啦~
這題。。想了5分鐘,寫了10分鐘,調了半小時。顯而易見 資料範圍很小是個狀壓dp。我們發現第i行的狀態只與i-1行有關,本題唯一多的就是k個國王,那麼多開一維空間來記錄國王就好了。
下面是**(0.0 看注釋一定能看出我為什麼調了半小時)
#include
using
namespace
std;
const
int maxn=10;
int n,k,re;
long
long dp[maxn][maxn*maxn+15][1
<0;
int wei[1
bool judge(int x)
else
p>>=1;
}
return1;}
inline
bool pd(int x,int h)
int main()
}// printf("1 0 0:%d 1 1 1:%d, :%d, %d\n",dp[1][0][0],dp[1][1][1],dp[1][1][2],dp[1][1][3]);
for(int i=2;i<=n;i++)
//for(int j=0;j<=k;j++)
for(int g=0;g<(1
for(int l=0;l<(1}}
//for(int i=1;i<=n;i++)
for(int j=0;j<(1
return
0;}
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 方案數。3 2果然啊 狀壓題都是乙個套路 和前面那個noi的題是乙個套路 具體實現也基本一樣 就是記錄的狀態...
SCOI2005 互不侵犯
互不侵犯 展開 題目描述 在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。注 資料有加強 輸入格式 只有一行,包含兩個數n,k 1 n 9,0 k n n 輸出格式 所得的方案數 輸入3 2 輸出1...