首页 > 其他 > 详细

HDU 2152

时间:2014-10-05 15:46:18      阅读:261      评论:0      收藏:0      [点我收藏+]

生成函数简单题

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 110
using namespace std;

struct Fruit{
	int a,b;
};
Fruit num[N];
int c1[N],c2[N];

int main(){
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF){
		for(int i=1;i<=n;i++)
		scanf("%d%d",&num[i].a,&num[i].b);
		memset(c1,0,sizeof(c1));
		memset(c2,0,sizeof(c2));
		for(int i=num[1].a;i<=num[1].b;i++)
		c1[i]=1;
		for(int i=2;i<=n;i++){
			for(int j=0;j<N;j++){
				for(int k=num[i].a;k<=num[i].b&&k+j<N;k++)
				c2[k+j]+=c1[j];
			}
			for(int j=0;j<N;j++)
			c1[j]=c2[j],c2[j]=0;
		}
		printf("%d\n",c1[m]);
	}
	return 0;
}

  

HDU 2152

原文:http://www.cnblogs.com/jie-dcai/p/4007006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!