AT_arc004_4.[ARC004D] 表現の自由 ( Freedom of expression )

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定整数 NN 和 MM,请问将整数 NN 表示为 MM 个整数的乘积的方法有多少种?
请输出该答案对 1,000,000,0071,000,000,007 取模的结果。输入以如下格式从标准输入中给出。

NN MM

  • 输入仅一行,由整数 NN(1≤∣N∣≤1091 \leq |N| \leq 10^9)和整数 MM(1≤M≤1051 \leq M \leq 10^5)以空格分隔给出。

请输出将整数 NN 表示为 MM 个整数的乘积的方法数,对 1,000,000,0071,000,000,007 取模的结果。
最后请输出换行符。

例如:

10 2
8
  • 将 1010 表示为 22 个整数的乘积的方法有如下 88 种:
  • 1×101 \times 10
  • 2×52 \times 5
  • 5×25 \times 2
  • 10×110 \times 1
  • (−1)×(−10)(-1) \times (-10)
  • (−2)×(−5)(-2) \times (-5)
  • (−5)×(−2)(-5) \times (-2)
  • (−10)×(−1)(-10) \times (-1)
1000000000 1
1
  • 将 1,000,000,0001,000,000,000 表示为 11 个整数的乘积只能写作 1,000,000,0001,000,000,000,因此只有 11 种方法。
-2 3
12
  • 将 −2-2 表示为 33 个整数的乘积的方法有如下 1212 种:
  • 1×1×(−2)1 \times 1 \times (-2)
  • 1×2×(−1)1 \times 2 \times (-1)
  • 1×(−1)×21 \times (-1) \times 2
  • 1×(−2)×11 \times (-2) \times 1
  • 2×1×(−1)2 \times 1 \times (-1)
  • 2×(−1)×12 \times (-1) \times 1
  • (−1)×1×2(-1) \times 1 \times 2
  • (−1)×2×1(-1) \times 2 \times 1
  • (−1)×(−1)×(−2)(-1) \times (-1) \times (-2)
  • (−1)×(−2)×(−1)(-1) \times (-2) \times (-1)
  • (−2)×1×1(-2) \times 1 \times 1
  • (−2)×(−1)×(−1)(-2) \times (-1) \times (-1)
50 1000
96554651

输入格式

输入仅一行,包含两个整数 NN 和 MM,以空格分隔。

输出格式

输出一个整数,表示将 NN 表示为 MM 个整数的乘积的方法数,对 1,000,000,0071,000,000,007 取模。最后输出换行符。

说明/提示

无。

由 ChatGPT 4.1 翻译

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

首页