Black
黑子说话
问题描述
Bob老师开了一节博弈论课程,但是由于疫情原因转到了线上。这天,Bob打开xx会议,看到列表里的Alice。Bob想起玩各种公平组合游戏时,被Alice先手爆杀的耻辱,决定算计Alice一手。
Bob在课堂上设置了一道问题,需要抽取一个同学开麦回答问题。他拿出了Alice在玩公平组合游戏时爆杀自己的时候留下的黑白棋子,设置了一个抽取规则。
在纸上画\(N\)个点,编号为\(1\)到\(N\);
添加\(N-1\)条无向边,使这\(N\)个点联通。
给每个点都放上仅一颗白子或者黑子,要求\(1\)号点是黑子,且有边相连的两个点放上的棋子颜色不相同。
(可以证明:在边确定之后,满足条件的棋子放法只有一种。)
根据放上的黑子的个数,抽取学号等于黑子个数的同学回答问题。
Bob知道Alice的学号是\(K\),所以他要放上\(K\)个黑子,让Alice回答问题。他想知道有多少种不同的连边方案,能够在这张图上放\(K\)个黑子。
我们认为两个方案不同,当且仅当存在一对点\((i,j)\),满足\(i\)和\(j\)在一个方案中有边相连,而在另一个方案中没有边相连。
输入格式
一行两个整数,依次为\(N\)、\(K\)。(\(1<K< N\leq 2000\))
输出格式
一个整数,表示方案数**对\(998244353\)取余**的结果。
样例输入
4 2
样例输出
12
提示
对于有\(N\)个点和一些边的无向图,选择其中\(N-1\)条边使图联通的方案,有一种通用方法能够计算方案数:
令\(d_i\)表示第\(i\)个点与其他点连边的个数。构造一个\(N\cross N\)的矩阵\(A={a_{ij}}\),其中:
\[
a_{i j}= \begin{cases}d_{i} & i=j \\ -1 & i\neq j且i, j有边相连 \\ 0 & i\neq j且i, j没有边相连 \quad\end{cases}
\]
只要去掉这个矩阵的最后一行和最后一列,计算出得到的\((N-1)\cross(N-1)\)的矩阵的行列式的值,就可以得到方案数。例如:
信息
- ID
- 1001
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 2
- 已通过
- 1
- 通过率
- 50%
- 上传者