Black

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%
上传者