题目描述
设A(N,K)是全体N位K进制整数a的集合(a的高位可以为0,例如,0023可看作一个4位8进制数,或一个4位5进制数,由题中指定的条件可以唯一确定),其中2≤K≤6000,N=2,3,4,即:$$A(N,K)={a|a=a_1a_2a_3\cdots a_N,0≤a_i≤K-1,i=1,\cdots,N}$$
设D(N−1,K)是A(N−1,K)的一个子集,它是由A(N,K)生成的一个N−1位K进制整数d的集合,生成规则如下:
对任何d∈D(N−1,K),存在a∈A(N,K),使d=Image(a),其中,d=d1d2⋯dN−1,di=min(ai,ai+1),即di取为ai,ai+1的最小值。
注1:我们称这个规则为A(N,K) 到A(N−1,K)内的一个映射d=Image(a),可以证明这个映射是多对一的,即:如果d,e∈D(N−1,k)且d=e,则对任何满足d=Image(a),e=Image(c)的A(N,K)中的元素a,c,均有a=c
注2:对某些K,N, D(N−1,K)是A(N−1,K)的一个真子集,例如K=4,N=4,则不存在a∈A(4,4),使Image(a)=(323)
任务:从文本文件输入两个用空格隔开的整数 N,K,然后在指定的文本文件中输出下列表达式的值:
$$f(N,K)=\sum_{a\in A(N,K),Image(a)=d}(\prod_{i=1}^{N-1}(d_i+1))
$$
上式表示对A(N,K)中的全部元素a,对其映像d=Image(a)=d1d2⋯dN−1的各位数字加1后的乘积求和。
其中$\prod^{N-1}_{i=1}(d_i+1)=(d_1+1)(d_2+1)\cdots(d_{N-1}+1)$
例:设N=2,K=3,则A(N,K)=00,01,02,11,10,12,20,21,22,正确的输出结果应为14。
提示:应先建立相应的计算方法,直接利用f(N,K)的表达式计算会使多数测试超时。
输入格式
输入文件只有一行:用空格隔开的两个整数N k。
输出格式
输出文件只有一个大整数,为计算结果。
2 3
14
提示
关于测试的说明:
数字完全正确,给满分。当输出结果的位数超过15位时,如果仅最后两位不准确时给一半分。(每个需测试的计算结果不超过1019)。