SP18186 MACHMAY - Machine Mayhem

题目描述

时间来到公元 4224 年,巨机公司正在研发第 42 代机器人。这一代的机器人具有独特的设计规格。 公司拥有 **N** 种不同的零件(编号依次为 **1 到 N**),每种零件赋予机器人一种特定的属性。要制造一个机器人,需要经过 **M** 个步骤。在步骤 **i** 中,需要从 **N** 个零件中选择一个并添加到机器人中。第 **M** 步完成之后,机器人即告组装完毕。定义 **num(i, j)** 表示在构建机器人 **R** 的前 **i** 步中所使用的编号为 **j** 的零件数量。 第 41 代机器人被发现存在一个问题,那就是某一特定属性明显压制了其他属性。因此,第 42 代机器人的设计要求是:对于任意一个机器人 **R**,在每一个步骤 **1 ≤ i ≤ M** 中,对于任何一对零件编号 **j, k**(其中 **1 ≤ j, k ≤ N**),均需满足 **|num(i, j) – num(i, k)| ≤ 1**。 现在,巨机公司希望知道,按照上述条件,可以制造多少种不同的第 42 代机器人。由于这个数字可能会非常巨大,请将结果对 **10^9 + 7** 取模后输出。 **注意**:如果两个机器人 **R1** 和 **R2** 在任意一个对应的步骤 **i** 中使用的零件不同,则这两个机器人被视为不同的。

输入格式

输出格式

输出一个整数,表示符合以上条件的不同机器人数量对 **10^9 + 7** 取模后的结果。 **本翻译由 AI 自动生成**