# 指定叶子数的建树顺序 ## 背景故事 园区要在带编号的站点之间逐条铺设通道。施工完成后,通道应形成一棵树,并且恰好有指定数量的末端站点。统计不同的施工记录。 (本故事由GPT-6重写) ## 形式化问题描述 有 $n$ 个带标号 $1,\ldots,n$ 的顶点。初始没有边,依次添加连接两个不同顶点的无向边,同一对顶点最多一条。最终必须是一棵树,且恰有 $m$ 个度数不超过 $1$ 的顶点,称为叶子。 最终边不同,或同一批边的添加顺序不同,均算不同方案。所有顶点包括叶子都有不同标号。求方案数模 $998244353$ 的非负最小剩余。 约定 $n=0$ 时只有空序列,叶子数为 $0$ ;$n=1$ 时唯一顶点也是叶子。 ## 输入格式 一行两个非负整数 `n m` . ## 输出格式 输出一行方案数模 $998244353$ 的结果。 ## 样例 1 ### 输入 ```text 3 2 ``` ### 输出 ```text 6 ``` ## 样例 2 ### 输入 ```text 4 2 ``` ### 输出 ```text 72 ``` ## 样例 3 ### 输入 ```text 4 3 ``` ### 输出 ```text 24 ``` ## 样例 4 ### 输入 ```text 1 0 ``` ### 输出 ```text 0 ``` ## 样例说明 三个点的树有 3 棵,每棵有 2 种加边顺序,共 6 种。四个点恰有两个叶子的树是路径,共 12 棵,每棵有 6 种顺序,答案为 72;恰有三个叶子的树是星形,共 4 棵,答案为 24。单个顶点不能有零个叶子。 ![中心标号不同或边的添加顺序不同,都产生不同记录。](assets/example.svg) 中心标号不同或边的添加顺序不同,都产生不同记录。 ## 数据范围与分组 $0\le n,m\le10^5$ .不保证 $m\le n$ ;没有方案时输出零。 规格由 Codex(GPT-6)重新设计:明确空树、孤立点与叶子的定义,以及边序和标号的计数规则。 | 分值 | 额外条件 | | --- | --- | | 20% | $n\le8$ | | 30% | $n\le1000$ | | 50% | 无额外条件 | ## 资源限制 时间 0.5 秒;内存 128 MiB。时限为标准程序每例五次测量的最慢中位数乘以 2,向上取整到 0.5 秒。 [题解](solution.zh.md) · [测量环境](../../../docs/评测环境与性能.md) · [测量记录](../../../docs/benchmark-R33.json)