solution-code4763

lolifamily

每种食物的生成函数

汉堡:1+𝑥2+𝑥4+=11𝑥2

可乐:1+𝑥=1𝑥21𝑥

鸡腿:1+𝑥+𝑥2=1𝑥31𝑥

蜜桃多:𝑥+𝑥3+𝑥5+=𝑥1𝑥2

鸡块:1+𝑥4+𝑥8+=11𝑥4

包子:1+𝑥+𝑥2+𝑥3=1𝑥41𝑥

土豆片炒肉:1+𝑥=1𝑥21𝑥

面包:1+𝑥3+𝑥6+=11𝑥3

乘在一起得到:𝑓(𝑥)=𝑥(1𝑥)4=𝑥(1𝑥)4

带入广义二项式定理得𝑓(𝑥)=𝑥𝑖=0𝐶𝑖𝑖+3𝑥𝑖

𝑖=𝑛1时第𝑛1项为𝑥𝐶𝑛𝑛+2𝑥𝑛=𝐶3𝑛+2𝑥𝑛

所以答案就为ans=𝑛(𝑛+1)(𝑛+2)6

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define mod 10007
#define inv6 1668
using namespace std;
inline int GetInt()
{
int ch,num=0;
while(ch=getchar())
{
if(ch>='0'&&ch<='9')break;
}
while(ch>='0'&&ch<='9')
{
num=(num*10+ch-'0')%mod;
ch=getchar();
}
return num;
}
int main(void)
{
int n=GetInt();
printf("%d\n",n*(n+1)%mod*(n+2)%mod*inv6%mod);
return 0;
}