问题描述:每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
#include<bits/stdc++.h>
using namespace std;
int a,b,ans;
void dfs(int x,int y){
if(x==a&&y==b) ++ans;
if(x+1>=y&&x+1<=a)dfs(x+1,y);
if(x>=y+1&&y+1<=b)dfs(x,y+1);
}
int main(){
scanf("%d%d",&a,&b);
dfs(0,0);
printf("%d\n",ans);
}