loj#P4796. 「RMI 2021」NoM

「RMI 2021」NoM

题目描述

题目译自 Romanian Master of Informatics 2021 Day2 T1 「NoM

马塞尔最近开始了一种新的爱好:创建禅意花园。他很快发展了自己的风格,使用 2N2 N 块石头作为花园特色。其中一半的石头是绿色的(覆盖着苔藓),并从 11NN 唯一编号,而另一半是灰色的(没有苔藓生长在上面),同样从 11NN 唯一编号。为了创建一个花园,马塞尔将拿起石头,并按照某种顺序将它们放在一条直线上,确保任何两块连续石头之间的距离恰好是 11 英寸。

在判断花园的美感方面,所有花园都被认为是美丽的。然而,马塞尔关于他的花园有一个迷信:如果存在两块刻有相同数字的石头,并且它们之间的距离是 MM 英寸的倍数,那么花园就被认为是 MM-不幸的,给创造那个花园的人带来巨大的不幸和 Code::Blocks 崩溃。马塞尔永远不会创造这样的花园。当然,所有其他花园都被认为是 MM-幸运的。

作为他达到启蒙之旅的一部分,马塞尔已经开始创造所有可以创建的 MM-幸运花园。然而,由于他也是一个深思熟虑且组织良好的个人,马塞尔希望在他开始旅程之前知道有多少个由 2N2 N 块石头组成的 MM-幸运花园。如果存在一个整数 i (1i2N)i\ (1 \leq i \leq 2 N),满足以下任意一个条件:

  • 花园 AA 中第 ii 块石头的颜色与花园 BB 中第 ii 块石头的颜色不同
  • 花园 AA 中第 ii 块石头上的数字与花园 BB 中第 ii 块石头上的数字不同。

则两个花园 AABB 被认为是不同的。

输入格式

输入包含一行两个整数 NNMM,表示马塞尔将创建由 2N2 N 块石头组成的 MM-幸运花园。

输出格式

在一行上,输出包含 2N2 N 块石头的 MM-幸运花园的数量对 109+710^{9}+7 取模的结果。

100 23
171243255
1 1
0

在第二个样例中,可以创建两个花园。然而,没有花园是 11-幸运的,因为对于两个花园,编号为 11 的石头之间的距离都是 11 英寸,这是 M=1M=1 英寸的倍数。

数据范围与提示

对于所有输入数据,满足:

  • 1MN20001 \leq M \leq N \leq 2000

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 99 1N,M51 \leq N, M \leq 5
22 1212 1N,M1001 \leq N, M \leq 100
33 1313 1N,M3001 \leq N, M \leq 300
44 1818 1N,M9001 \leq N, M \leq 900
55 4848 无附加限制