50块100块那题
#include<iostream>
using namespace std;
int n1,m1;
int cishu =0;
void test(int m,int n,int nn,int level)//nn是50块的储存
{
if(level ==m1+n1){
cishu++;
return ;
}
if(n>0){
int a=n-1;
int b=nn+1;
test(m,a,b,level+1);
}
if(nn>0&&m>0){
int c=m-1;
int r=nn-1;
test(c,n,r,level+1);
}
}
int jueduizhi(int n){
int a=1;
for(int i=n;i>0;i--)
a*=i;
return a;
}
int main()
{
cin>>n1>>m1;
if(m1>n1)
{
cout<<"0";
return 0;
}
test(m1,n1,0,0);
cout<<cishu*jueduizhi(m1)*jueduizhi(n1);
return 0;
}
好久好久没打题了,这个寒假得突击一下。加油把。