他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等。
当然,他又有一些稀奇古怪的限制:
每种食物的限制如下:
- 承德汉堡:偶数个;
- 可乐:0 个或 1 个;
- 鸡腿:0 个,1 个或 2 个;
- 蜜桃多:奇数个;
- 鸡块:4 的倍数个;
- 包子:0 个,1 个,2 个或 3 个;
- 土豆片炒肉:不超过一个;
- 面包:3 的倍数个;
注意,这里我们懒得考虑明明对于带的食物该怎么搭配着吃,也认为每种食物都是以『个』为单位(反正是幻想嘛),只要总数加起来是 n 就算一种方案。因此,对于给出的 n,你需要计算出方案数,并对 10007 取模。
#include<iostream>
#include<cstdio>
#define ll long long
#define M 10007
using namespace std;
ll ans;
string a;
int main()
{
ll i,j;
cin>>a;
for(i=0;i<a.size();i++)
{
ans=ans*10+a[i]-48;
ans%=M;
}
cout<<ans*(ans+1)*(ans+2)/6%M;
}
388

被折叠的 条评论
为什么被折叠?



