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;
}
题目大意为:要买由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;
}
相关文章推荐
- 初探UUID
- HDOJ&nbsp;&nbsp;1005&nbsp;&nbsp;&nbsp;Number&nbsp;Sequence
- UIGestureRecognizer转换成相应子view的点
- Add child view controller to UINavigationController
- 自动化测试: sikuli,一个基于界面图像的gui测试框架
- 【原创】在NGUI使用图片文字(数字、美术字)(BMFont)
- 使用UIImagePickerController时3DTouch引起的Crash问题的解决
- UIViewController的生命周期笔记 by STP
- UIImage的等比例压缩和缩放实现
- UIPageViewController 专辑
- UIViewController 专辑
- ios 长按手势UILongPressGestureRecognizer 开始/结束(按下/抬起)
- Android UI模板设计--自定义actionbar(topbar)模板(慕课网学习笔记)
- Druid :大数据实时处理的开源分布式系统(1)
- break & continue
- Druid :大数据实时处理的开源分布式系统(1)
- Codeforces Round #313 (Div. 2) 560D Equivalent Strings(dos)
- Uiautomator——API详解
- processing-MySQL learning1-getString() , getInt() and query()
- iPhone开发关于UDID和UUID的一些理解