机房同学让我看的题,然后随便推了一下就出来了,本质上是生成函数裸题

考虑五种限制

update:机房同学说有地方手残写错了见谅qaq,已更正

1:可以取无限个,对应的生成函数为

2:有一个,对应的生成函数为

3:有四个,对应的生成函数为

4:无限但只能取偶数个,对应的生成函数为

5:无限但只能取的倍数个,对应的生成函数为

分别写成封闭形式然后卷积可以得到为

然后由牛顿二项式定理可得对应的生成函数为

那么答案就为代码就不贴了