#zHSXybttg060606. 1653:方程的解

1653:方程的解

好的,我帮你把这道题整理为标准的题面格式,补充样例解释、数据范围、时空限制:


题目描述

佳佳碰到了一个难题,请你来帮忙解决。
对于不定方程

a1+a2++ak1+ak=g(x)a_1 + a_2 + \cdots + a_{k-1} + a_k = g(x)

其中 k2k \ge 2kNk \in \mathbb{N}^*xx 是正整数,g(x)=xxmod1000g(x) = x^x \bmod 1000(即 xxx^x 除以 10001000 的余数),x,kx, k 是给定的数。我们要求的是这个不定方程的正整数解组数。

举例来说,当 k=3,x=2k=3, x=2 时,g(2)=22mod1000=4g(2) = 2^2 \bmod 1000 = 4,方程为 a1+a2+a3=4a_1 + a_2 + a_3 = 4,正整数解为:

(1,1,2), (1,2,1), (2,1,1)(1,1,2),\ (1,2,1),\ (2,1,1)

33 组。


输入格式

有且只有一行,为用空格隔开的两个正整数,依次为 k,xk, x


输出格式

有且只有一行,为方程的正整数解组数。


样例

样例输入 1

3 2

样例输出 1

3

样例解释 1

k=3k = 3x=2x = 2
g(x)=22mod1000=4g(x) = 2^2 \bmod 1000 = 4
方程为 a1+a2+a3=4a_1 + a_2 + a_3 = 4,正整数解个数为 C4131=C32=3C_{4-1}^{3-1} = C_3^2 = 3


数据范围

  • 对于 40%40\% 的数据,答案不超过 101610^{16}
  • 对于 100%100\% 的数据,1k1001 \le k \le 1001x<2311 \le x < 2^{31}kg(x)k \le g(x)

时空限制

  • 时间:1000 ms1000 \text{ ms}
  • 内存:524288 KB524288 \text{ KB}

提示

  1. 先计算 g(x)=xxmod1000g(x) = x^x \bmod 1000,可使用快速幂取模;
  2. 方程 a1+a2++ak=ma_1 + a_2 + \cdots + a_k = m 的正整数解个数为组合数 Cm1k1C_{m-1}^{k-1}
  3. mm 可能较大(最大为 999999),kk 最大为 100100,组合数结果可能非常大,需要高精度计算。