C++プッシュアルゴリズムのりんご
1138 ワード
Description
M個の同じリンゴをN個の同じ皿の中に置いて、ある皿が空いていることを許して、何種類の異なる分け方がありますか?(Kで表す)5,1,1と1,5,1は同じ分法である.
Input
1行目は、テストデータの数t(0<=t<=20)である.以下の各行には、2つの整数MとNが含まれ、スペースで区切られています.1<=M,N<=10.
Output
入力されたデータMおよびNのセット毎に、対応するKが1行で出力される.
Sample Input
Sample Output
Description
M個の同じリンゴをN個の同じ皿の中に置いて、ある皿が空いていることを許して、何種類の異なる分け方がありますか?(Kで表す)5,1,1と1,5,1は同じ分法である.
Input
1行目は、テストデータの数t(0<=t<=20)である.以下の各行には、2つの整数MとNが含まれ、スペースで区切られています.1<=M,N<=10.
Output
入力されたデータMおよびNのセット毎に、対応するKが1行で出力される.
Sample Input
Sample Output
M個の同じリンゴをN個の同じ皿の中に置いて、ある皿が空いていることを許して、何種類の異なる分け方がありますか?(Kで表す)5,1,1と1,5,1は同じ分法である.
Input
1行目は、テストデータの数t(0<=t<=20)である.以下の各行には、2つの整数MとNが含まれ、スペースで区切られています.1<=M,N<=10.
Output
入力されたデータMおよびNのセット毎に、対応するKが1行で出力される.
Sample Input
1
7 3
Sample Output
8
Description
M個の同じリンゴをN個の同じ皿の中に置いて、ある皿が空いていることを許して、何種類の異なる分け方がありますか?(Kで表す)5,1,1と1,5,1は同じ分法である.
Input
1行目は、テストデータの数t(0<=t<=20)である.以下の各行には、2つの整数MとNが含まれ、スペースで区切られています.1<=M,N<=10.
Output
入力されたデータMおよびNのセット毎に、対応するKが1行で出力される.
Sample Input
1
7 3
Sample Output
8
#include
int main()
{
int i,j,k,n,m;
int t;
scanf("%d",&t);
for(int o=1;o<=t;o++)
{
int f[101][101];
scanf("%d%d",&m,&n);
for(i=0;i<=m;i++)
for(j=0;j<=n;j++)
{
if(i==0||j==1) f[i][j]=1;
else
{
if(j>i) f[i][j]=f[i][i];
else f[i][j]=f[i][j-1]+f[i-j][j];
}
}
printf("%d
",f[m][n]);
}
return 0;
}