#P14674. [ICPC 2025 Seoul R] Fair Problemset
[ICPC 2025 Seoul R] Fair Problemset
Description
本题采纳与 M 题 "Triple Fairness" 完全相同的 公平试题集 定义。
ICPC 是一项团队竞赛。每个团队有三名成员。在比赛开始时,大多数团队会将 道题平均分配。他们通常使用以下两种常见方法来分配题目:
- 顺序分配:每位成员从 道题中取一个连续的 道题块。具体来说,第一名成员取题目 ,第二名成员取题目 ,第三名成员取题目 。
- 跳跃分配:每位成员从 道题中取索引除以 余数相同的题目。具体来说,第一名成员取题目 ,第二名成员取题目 ,第三名成员取题目 。
ICPC 首尔赛区科学委员会需要准备一个由 道题组成的试题集。每道题的难度用一个从 到 (含)的整数表示。对于每种难度,恰好有三道题具有该难度。因此,试题集中的难度排列可以看作一个长度为 的难度序列,其中包含每种 个难度级别的三道题。
为了防止任何团队因选择的问题分配方法而获得优势或处于劣势,ICPC 首尔赛区科学委员会定义了一个称为 公平试题集 的标准。一个长度为 的难度序列被称为公平试题集,当且仅当它同时满足以下两个条件:
- 顺序分配公平性:当使用顺序分配时,对于每个难度级别 (),三名成员每人恰好收到一道难度为 的题。
- 跳跃分配公平性:当使用跳跃分配时,对于每个难度级别 (),三名成员每人恰好收到一道难度为 的题。
换句话说,无论选择两种方法中的哪一种,每个团队成员都必须被分配到恰好一道难度为 到 (含)中每个级别的题目。
给定一个正整数 ,请编写一个程序,对每个 ,找出长度为 的公平试题集序列的数量。
Input Format
你的程序需要从标准输入读取数据。输入恰好包含一行。该行包含两个整数 和 (; ; 是一个质数)。
Output Format
你的程序需要向标准输出写入数据。你应该恰好输出 行。在第 行 () 上,输出长度为 的公平试题集序列的数量,结果对 取模。
2 993244853
1
2
3 998244353
1
2
12
Hint
以下是长度为 () 的 个公平试题集序列:
i. 1 2 3 2 3 1 3 1 2
ii. 1 2 3 3 1 2 2 3 1
iii. 1 3 2 2 1 3 3 2 1
iv. 1 3 2 3 2 1 2 1 3
v. 2 1 3 1 3 2 3 2 1
vi. 2 1 3 3 2 1 1 3 2
vii. 2 3 1 1 2 3 3 1 2
viii. 2 3 1 3 1 2 1 2 3
ix. 3 1 2 1 2 3 2 3 1
x. 3 1 2 2 3 1 1 2 3
xi. 3 2 1 1 3 2 2 1 3
xii. 3 2 1 2 1 3 1 3 2
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号