题目描述 Description
在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。
输入描述 Input Description
只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)
输出描述 Output Description
方案数。
样例输入...
分类:
其他好文 时间:
2015-05-02 11:13:30
阅读次数:
195
[SCOI2005]互不侵犯KingDescription在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input只有一行,包含两个数N,K ( 1 0 do begin a[x,c]...
分类:
其他好文 时间:
2015-03-17 00:34:20
阅读次数:
162
题解:一开始让我写这道题,其实我是,是接受的。
BalaBala。
毕竟水题,都不用特技。裸状压DP。
直接f[i][j][k]表示...
分类:
其他好文 时间:
2015-03-02 21:03:15
阅读次数:
119
状压DP 我写的太水了……64ms才过,估计还有更好的做法,希望各位神犇不吝赐教>_12 #include13 #include14 #include15 #include16 #define rep(i,n) for(int i=0;i=n;--i)19 using namespace std;....
分类:
其他好文 时间:
2015-01-05 21:53:07
阅读次数:
224
题目1087: [SCOI2005]互不侵犯KingTime Limit:10 SecMemory Limit:162 MBDescription在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。In...
分类:
其他好文 时间:
2014-12-04 00:42:52
阅读次数:
269
题目大意:一个国王可以攻击到旁边8个位置的格子,现在给出一个N*N的方格,向其中放k个国王,问有多少中摆放方法。
思路:状压DP,f[i][j][k],其中i是行数,j是状态,k是已经取了多少国王。然后暴力枚举状态,看相邻两行之间有没有冲突,若没有冲突,那么就转移。
注意要开long long
CODE:
#include
#include
#include
#...
分类:
其他好文 时间:
2014-11-21 18:53:36
阅读次数:
161
题目大意:给定n*n的国际象棋棋盘,在上面放k个国王,要求国王之间互不攻击,求方案数
n
状压DP,将每一行的方案二进制压成一维,令f[i][j][k]为第i行用去j个国王状态为k的方案数,然后状态转移如下:
f[i][j][k]=Σf[i-1][j-digit[k]][l]
其中l&k=0,l>>1&k=0,l
暴力转移即可
记得开long long
#include
#inc...
分类:
其他好文 时间:
2014-10-13 16:30:09
阅读次数:
221
题解:首先,这道题可以用位运算来表示每一行的状态,同八皇后的搜索方法,然后对于限制条件不相互攻击,则只需将新加入的一行左右移动与上一行相&,若是0则互不攻击,方案可行。对于每种方案,则用递推来统计,将前一排所有可以的情况全部加上即可。bit数组记录每个数字二进制位中1的个数,方便计算。if(chec...
分类:
其他好文 时间:
2014-07-21 09:35:58
阅读次数:
184