#include<cstdio>
int n,m;
long long f[16][101];
int main(){
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)f[1][i]=i*2;
for(int i=1;i<=n;i++)f[i][1]=2;
for(int i=2;i<=n;i++)
for(int j=2;j<=m;j++){
f[i][j]=f[i][j-1]+f[i-1][j-1];
}
printf("%lld",f[n][m]);
return 0;
}
对于一个n维的球体,去和m-1个其他的球相交,相交处必然是n-1维的球面。
令f[i][j]表示 j个i维的物体最多能把空间分成几份,每增加一个球,增加的空间就是j-1个i-1维的球将空间分的份数。
j-1个球本来将空间分成了f[i][j-1] 因此f[i][j]=f[i][j-1]+f[i-1][j-1]。