Problem B: 幸运抽奖

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $20$ 正确数量 $12$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 递推
Alice和Bob最近在玩一个抽奖游戏, 游戏规则如下:

抽奖箱里有N个唯一数字标号的小球, 小球的标号值为1~N.

抽奖时, 抽奖人从中抽取K个球, 这K个小球的标号数字总和作为抽奖人的得分, 抽完后再将K个球放回抽奖箱.

Alice和Bob现各抽一次奖, Alice想知道自己得分(严格)高于Bob的得分的抽奖结果有多少种.

比如N=4, K=2时, 有14种结果使得Alice的得分高于Bob:

{1, 3} > {1, 2}

{1, 4} > {1, 2}

{1, 4} > {1, 3}

{2, 3} > {1, 2}

{2, 3} > {1, 3}

{2, 4} > {1, 2}

{2, 4} > {1, 3}

{2, 4} > {1, 4}

{2, 4} > {2, 3}

{3, 4} > {1, 2}

{3, 4} > {1, 3}

{3, 4} > {1, 4}

{3, 4} > {2, 3}

{3, 4} > {2, 4}

只有一行用空格隔开的三个整数N, K, M, 其中3 <= N <= 50, K < N;

N, K的含义如描述所说, M是一个小于2147483648的质数.

一个数字, Alice的得分高于Bob的得分的抽奖结果的种数, 结果可能很大, 输出其除以M的余数即可.
4 2 23333
14