诶,数学弱爆了..比赛时候没推出来
组合数学里的母函数(x+x^2+……+x^n)^m的展开式中x^k的系数
整理得x^m * (1-x^n)^m * (1-x)^(-m)就可以得到x^k的系数
#include <cstdio>
int main()
{int n, m, k;while (scanf("%d%d%d", &n, &m, &k) != EOF){double ans = 0;if (k < m){printf("%.2lf\n", ans);continue;}for (int i = 0; i <= (int)((k - m) / n); i++){double tmp = (double)m;for (int j = k - i * n - m + 1; j <= k - i * n - 1; j++)tmp *= j;for (int j = 1; j <= i; j++)tmp /= j;for (int j = 1; j <= m - i; j++)tmp /= j;ans += (1 - 2 * (i % 2)) * tmp;}for (int i = 1; i <= m; i++)ans /= n;printf("%.2lf\n", ans);}
}