提示:假设用 P(m,n)表示 m 个 A 和 n 个 B 的排列数。假设第一个是 A,则剩下 m-1 个 A 和 n 个 B,剩下的字母排列数是 p(m-1,n)。如果第 1 个是 B,则剩下 m 个 A 和 n-1 个 B,剩下的排列数是 p(m,n-1)。
所以有:
p(0,n) = 1
p(m,0)=1
24
p(m, n) = p(m-1,n) + (m, n-1)
#include<stdio.h>
int Fun(int m,int n);
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",Fun(m,n));
return 0;
}
int Fun(int m,int n)
{
if(m==0||n==0)
return 1;
else
return Fun(m-1,n)+Fun(m,n-1);
}