在n×n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。
只有一行,包含兩個數n,k ( 1 <=n <=9, 0 <= k <= n * n)
方案數3 2
同sgu223
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
inline
const
int get_int()
while(x>='0'&&x<='9')
return num*bj;
}long
long cnt=0,ans=0,f[15][1105][205];
int n,king,state[1105],king[1105];
bool check(int a,int b)
int main()
f[0][1][0]=1; //初始條件:第0行全為0
for(int i=1; i<=n; i++) //階段:行
for(int j=1; j<=cnt; j++) //列舉狀態
for(int k=0; k<=king; k++) //列舉國王數
if(k>=king[j])
for(int t=1; t<=cnt; t++) //列舉i-1行狀態
if(check(j,t))f[i][j][k]+=f[i-1][t][k-king[j]];
for(int i=1; i<=cnt; i++)ans+=f[n][i][king];
printf("%lld\n",ans);
return
0;}
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的題是乙個套路 具體實現也基本一樣 就是記錄的狀態...
SCOI2005 互不侵犯
互不侵犯 展開 題目描述 在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上左下右上右下八個方向上附近的各乙個格仔,共8個格仔。注 資料有加強 輸入格式 只有一行,包含兩個數n,k 1 n 9,0 k n n 輸出格式 所得的方案數 輸入3 2 輸出1...