AT_arc096_c.[ARC096E] Everything on It

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

拉面店「高桥屋」的菜单基本上只有「拉面」一种,但还提供 NN 种配料。顾客在点拉面时,可以选择每种配料「加」或「不加」。加配料的数量没有限制,可以选择加所有配料,也可以一个都不加。也就是说,考虑配料的组合,一共有 2N2^N 种不同的拉面可以点。

赤木小姐进入了高桥屋。她打算点若干碗拉面,使得同时满足以下两个条件:

  • 不会点多碗配料组合完全相同的拉面。
  • 每一种配料,在所点的拉面中都至少出现了 22 次。

给定 NN 和素数 MM,请你求出满足上述条件的拉面组合数对 MM 取模的结果。拉面的顺序不计。由于赤木小姐极度饥饿,可以点任意多碗拉面。

输入格式

输入从标准输入读入,格式如下:

NN MM

输出格式

输出满足条件的拉面组合数对 MM 取模的结果。

输入输出样例

  • 输入#1

    2 1000000007

    输出#1

    2
  • 输入#2

    3 1000000009

    输出#2

    118
  • 输入#3

    50 111111113

    输出#3

    1456748
  • 输入#4

    3000 123456791

    输出#4

    16369789

说明/提示

限制

  • 2≤N≤30002 \leq N \leq 3000
  • 108≤M≤109+910^8 \leq M \leq 10^9 + 9
  • NN 是整数。
  • MM 是素数。

部分分

  • 对于满足 N≤50N \leq 50 的测试点,得分为 600600 分。

样例解释 1

有 22 种配料,分别为 A 和 B。可以点的拉面有「无配料」、「加 A」、「加 B」、「加 A 和 B」共 44 种。满足条件的拉面组合有以下 22 种:

  • 「加 A」、「加 B」、「加 A 和 B」各一碗,共 33 碗;
  • 所有种类的拉面各一碗,共 44 碗。

样例解释 2

有 33 种配料,分别为 A、B、C。在样例 1 的 44 种拉面基础上,再加上分别加 C 的 44 种拉面。满足条件的拉面组合共有 118118 种,举例如下:

  • 「加 A 和 B」、「加 A 和 C」、「加 B 和 C」各一碗,共 33 碗;
  • 「无配料」、「加 A」、「加 A 和 B」、「加 B 和 C」、「加 A、B、C」各一碗,共 55 碗;
  • 所有种类的拉面各一碗,共 88 碗。
    注意,「加 A」、「加 B」、「加 A 和 B」各一碗的 33 碗组合不满足条件,因为 C 没有在任何一碗拉面中出现。

样例解释 3

不要忘记输出组合数对 MM 取模的结果。以上三个输入样例都包含在部分分的测试点中。

样例解释 4

本输入样例不包含在部分分的测试点中。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页