#include
using namespace std;
const int MAX=105;
typedef struct q
{
int s;//下限
int e;//上限
}Q;
int main(void)
{
Q fru[MAX];//水果种类
int n,m,i,j,k,c1[MAX],c2[MAX];
while(cin>>n>>m)
{
for(i=1;i<=n;i++)
cin>>fru[i].s>>fru[i].e;
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
//c1[0]=1;//c1不能等于0,因为第一种水果至少要买fru[1].s个
for(i=fru[1].s;i<=fru[1].e;i++)
c1[i]=1;
for(i=2;i<=n;i++)
{
for(j=0;j<=m;j++)
for(k=fru[i].s;k<=fru[i].e;k++)
{
c2[j+k]+=c1[j];
}
for(j=0;j<=m;j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
cout<
[m]
相关文章: