题目来源:码蹄集
https://matiji.net/exam/brushquestion/322/778/B3FCFEC101BD05189BB74D522E019504
参考程序:
#include <iostream>
#include <stdio.h>
int state(int n, int k, int m){
if(k <= 0 || k > n*m){
return 0;
}
if(n == 1){
return 1;
}
else{
int tmp = 0;
for(int i=0; i<m; ++i){
tmp += state(n-1, k-i-1, m);
}
return tmp;
}
}
int main() {
int n, m, sum;
scanf("%d %d %d", &n, &m, &sum);
printf("%d\n", state(n, sum, m));
return 0;
}