SCOI2005 互不侵犯

2021-08-10 00:03:07 字數 988 閱讀 6747

題目描述

在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...