您的位置:首页 > 产品设计 > UI/UE

HDOJ  2152   Fruit

2015-12-18 18:10 519 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2152

题目大意为:要买由M个水果组成的水果拼盘,不过我有个小小的要求,

对于每种水果,个数上我有限制,

既不能少于某个特定值,也不能大于某个特定值

而且我不要两份一样的拼盘。你随意搭配,你能组出多少种不同的方案

#include <stdio.h>

#include <string.h>

int c1[1010],c2[1010];

int main()

{

int
i,j,k,min[120],max[120];

int
N,M;


while(scanf("%d%d",&N,&M)!=EOF)

{


for(i=1;i<=N;i++)


scanf("%d%d",&min[i],&max[i]);


for(i=0;i<=M;i++)


{


c1[i]=0;


c2[i]=0;


}


for(i=min[1];i<=max[1];i++)


c1[i]=1;


for(i=2;i<=N;i++)


{


for(j=0;j<=M;j++)


{


for(k=min[i];k+j<=M&&k<=max[i];k++)


c2[j+k]+=c1[j];


}


for(j=0;j<=M;j++)


{


c1[j]=c2[j];


c2[j]=0;


}


}


printf("%d\n",c1[M]);

}

return
0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: