题:Fruit
分析:母函数(详细见找单词)
代码:
#include<cstdio>
#include<cstring>
const int maxn = 100;
int c1[maxn*maxn], c2[maxn*maxn], down[maxn], up[maxn];
int main(){
int n, m;
while(~scanf("%d%d", &n, &m)){
for(int i = 1; i <= n; i++)
scanf("%d%d", &down[i], &up[i]);
memset(c1, 0, sizeof(c1));
c1[0] = 1;
memset(c2, 0, sizeof(c2));
for(int i = 1; i <= n; i++){
for(int j = down[i]; j <= up[i]; j++)
for(int k = j; k <= m; k++)
c2[k] += c1[k - j];
memcpy(c1, c2, sizeof(c2));
memset(c2, 0, sizeof(c2));
}
printf("%d\n", c1[m]);
}
return 0;
}