ccf#ZJOI2022A. 树
树
题目背景
一年一度的 ZJOI 又要举办了,但是老牌出题人九条可怜突然有急事要回趟英国。
“就交给你们啦!一定没有问题 desu!”,说完可怜就跑远了。
忍,爱丽丝,绫和阳子目送着远去的可怜,感到有点茫然,毕竟,ZJOI 只剩不到三星期了。
“既然是可怜酱留下的任务,那我们一定要努力完成了,毕竟我才是姐姐”,爱丽丝说。
于是众人就开始热火朝天地出题了,“希望这是第一次也是最后一次了”大家都不约而同地想。
同时,题目主角就定为九条可怜了!
题目描述
九条可怜是一个喜欢树的女孩子,她想生成两棵均有 个节点的树。
第一棵树的生成方式是:
- 节点 作为树的根。
- 对于 ,从 中选取一个节点作为 的父亲。
第二棵树的生成方式是:
- 节点 作为树的根。
- 对于 ,从 中选取一个节点作为 的父亲。
九条可怜希望对于任意 ,若第一棵树中的节点 为叶子,那么第二棵树中的节点 为非叶子;若第一棵树中的节点 为非叶子,那么第二棵树中的节点 为叶子。一个节点被称为叶子当且仅当没有节点的父亲是它。
九条可怜希望你统计生成两棵树的方案数是多少。具体地,你需要对于所有 都计算方案数。两种方案不同当且仅当存在一棵树中的一个节点 ,两种方案中它的父亲不同。因为答案可能很大,你只需要输出答案对 取模后的结果。
输入格式
从文件 tree.in
中读入数据。
第一行输入两个整数 ,表示树的节点上限以及模数。
输出格式
输出到文件 tree.out
中。
输出 行,每行一个整数。
具体地,第 行输出 时的答案对 取模后的值。
5 998244353
1
2
12
120
输入输出数据 2
见下发文件中的 tree_ex2.in
和 tree_ex2.ans
。
数据范围与提示
对于所有测试点:保证 。
每个测试点的具体限制见下表:
测试点编号 | 特殊限制 | |
---|---|---|
无 | ||
保证 为质数 | ||
无 | ||
保证 为质数 | ||
无 | ||
保证 为质数 | ||
无 | ||
保证 为质数 | ||
无 | ||
保证 为质数 |