zoukankan      html  css  js  c++  java
  • HDUOJ---2152

    Fruit

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2585    Accepted Submission(s): 1436


    Problem Description
    转眼到了收获的季节,由于有TT的专业指导,Lele获得了大丰收。特别是水果,Lele一共种了N种水果,有苹果,梨子,香蕉,西瓜……不但味道好吃,样子更是好看。

    于是,很多人们慕名而来,找Lele买水果。

    甚至连大名鼎鼎的HDU ACM总教头 lcy 也来了。lcy抛出一打百元大钞,"我要买由M个水果组成的水果拼盘,不过我有个小小的要求,对于每种水果,个数上我有限制,既不能少于某个特定值,也不能大于某个特定值。而且我不要两份一样的拼盘。你随意搭配,你能组出多少种不同的方案,我就买多少份!"

    现在就请你帮帮Lele,帮他算一算到底能够卖出多少份水果拼盘给lcy了。

    注意,水果是以个为基本单位,不能够再分。对于两种方案,如果各种水果的数目都相同,则认为这两种方案是相同的。

    最终Lele拿了这笔钱,又可以继续他的学业了~
     
    Input
    本题目包含多组测试,请处理到文件结束(EOF)。
    每组测试第一行包括两个正整数N和M(含义见题目描述,0<N,M<=100)
    接下来有N行水果的信息,每行两个整数A,B(0<=A<=B<=100),表示至少要买该水果A个,至多只能买该水果B个。
     
    Output
    对于每组测试,在一行里输出总共能够卖的方案数。
    题目数据保证这个答案小于10^9
     
    Sample Input
    2 3 1 2 1 2 3 5 0 3 0 3 0 3
     
    Sample Output
    2 12
     
    Author
    Linle
     
    Source
    Recommend
    lcy
    母函数....常规题...不多说...
    贴代码:
     1 #include<iostream>
     2 #include<vector>
     3 using namespace std;
     4 typedef struct Fruit   //水果的个数范围
     5 {
     6     int min;
     7     int max;
     8 }fruit;
     9 int main()
    10 {
    11     int n,m,i,j,k;
    12     while(cin>>n>>m)
    13     {
    14       vector<fruit>arr(n);
    15       int c1[101]={0},c2[101]={0};
    16       for(i=0;i<n;i++)
    17           cin>>arr[i].min>>arr[i].max;
    18       for(i=arr[0].min;i<=arr[0].max;i++)  //初始化...
    19       {
    20           c1[i]=1;                      
    21       }
    22       for(i=1;i<n;i++)
    23       {
    24         for(j=0;j<=m;j++)
    25         {
    26             for(k=arr[i].min ; k+j<=m&&k<=arr[i].max ; k++)   //两两相乘
    27             {
    28                 c2[j+k]+=c1[j];
    29             }
    30         }
    31         for(j=0;j<=m;j++)
    32         {
    33             c1[j]=c2[j];
    34             c2[j]=0;
    35         }
    36       }
    37       cout<<c1[m]<<endl;
    38     }
    39     return 0;
    40 }
    View Code
  • 相关阅读:
    关于lockkeyword
    关于多层for循环迭代的效率优化问题
    Android 面试精华题目总结
    Linux基础回想(1)——Linux系统概述
    linux源代码编译安装OpenCV
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem B. Matrix Fast Power
    校赛热身 Problem B. Matrix Fast Power
    集合的划分(递推)
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3234379.html
Copyright © 2011-2022 走看看