HDOJ Fruit 2152【親関数】
2478 ワード
Fruit
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3899 Accepted Submission(s): 2217
Problem Description
またたく間に収穫の季節になって、TTの専門の指導があるため、Leleは大豊作を獲得しました.特に果物、Leleは全部でN種類の果物を植えて、りんご、梨、バナナ、スイカがあります......味がおいしいだけではなくて、様子は更にきれいです.
そこで、多くの人々が名を慕って来て、Leleを探して果物を買いました.
有名なHDU ACM総教頭lcyまで来た.lcyは100元札を投げて、「M個の果物からなる果物の盛り合わせを買いたいのですが、私には小さな要求があります.果物ごとに、個数に制限があります.特定の値よりも少なくても、特定の値よりも大きくてもいけません.そして、同じ盛り合わせを2つは要りません.あなたは勝手に組み合わせて、あなたはいくつかの異なる案を組み合わせることができて、私は何部買いますか?」
今、Leleを手伝ってもらい、lcyにどれだけの果物の盛り合わせが売れるか計算してあげましょう.
注意、果物は1つを基本単位とし、これ以上分けることはできません.2つのスキームについて、各果物の数が同じであれば、この2つのスキームは同じであると考えられる.
結局Leleはこのお金をもらって、また彼の学業を続けることができます~
Input
この問題には複数のテストが含まれています.ファイルの終了(EOF)まで処理してください.
各グループのテストの最初の行は2つの正の整数NとMを含む(意味は問題の説明を参照して、0次にN行の果物の情報があって、1行ごとに2つの整数A,B(0<=A<=B<=100)は、少なくともこの果物A個を買う必要があることを示して、せいぜいこの果物B個しか買えない.
Output
各グループのテストについて、合計で販売できるシナリオ数を1行に出力します.
タイトルデータはこの答えが10^9未満であることを保証します.
Sample Input
Sample Output
Author
Linle
Source
ACMプログラミング期末試験——2008-01-02(3教417)
Recommend
lcy | We have carefully selected several similar problems for you: 1171 1709 2110 2079 2189
注意値範囲を初期化します.
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3899 Accepted Submission(s): 2217
Problem Description
またたく間に収穫の季節になって、TTの専門の指導があるため、Leleは大豊作を獲得しました.特に果物、Leleは全部でN種類の果物を植えて、りんご、梨、バナナ、スイカがあります......味がおいしいだけではなくて、様子は更にきれいです.
そこで、多くの人々が名を慕って来て、Leleを探して果物を買いました.
有名なHDU ACM総教頭lcyまで来た.lcyは100元札を投げて、「M個の果物からなる果物の盛り合わせを買いたいのですが、私には小さな要求があります.果物ごとに、個数に制限があります.特定の値よりも少なくても、特定の値よりも大きくてもいけません.そして、同じ盛り合わせを2つは要りません.あなたは勝手に組み合わせて、あなたはいくつかの異なる案を組み合わせることができて、私は何部買いますか?」
今、Leleを手伝ってもらい、lcyにどれだけの果物の盛り合わせが売れるか計算してあげましょう.
注意、果物は1つを基本単位とし、これ以上分けることはできません.2つのスキームについて、各果物の数が同じであれば、この2つのスキームは同じであると考えられる.
結局Leleはこのお金をもらって、また彼の学業を続けることができます~
Input
この問題には複数のテストが含まれています.ファイルの終了(EOF)まで処理してください.
各グループのテストの最初の行は2つの正の整数NとMを含む(意味は問題の説明を参照して、0
Output
各グループのテストについて、合計で販売できるシナリオ数を1行に出力します.
タイトルデータはこの答えが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
ACMプログラミング期末試験——2008-01-02(3教417)
Recommend
lcy | We have carefully selected several similar problems for you: 1171 1709 2110 2079 2189
注意値範囲を初期化します.
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int c1[10010];
int c2[10010];
int N,M;
struct Num{
int x,y;
}num[10010];
int Max,Min,Maxn;
int generation()
{
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
for(int i=num[1].x;i<=num[1].y;i++){
c1[i]=1;
}
for(int i=2;i<=N;i++){
for(int j=0;j<=M;j++){
for(int k=num[i].x;k+j<=M&&k<=num[i].y;k++)
c2[j+k]+=c1[j];
}
for(int j=0;j<=M;j++){
c1[j]=c2[j];
c2[j]=0;
}
}
return c1[M];
}
int main()
{
while(scanf("%d%d",&N,&M)!=EOF){
Maxn=0;
for(int i=1;i<=N;i++){
scanf("%d%d",&num[i].x,&num[i].y);
}
printf("%d
",generation());
}
return 0;
}