这是一道递归题,
首先,如果借鞋子的人n比还鞋子的人m多的话,一定是不成立的
如果借鞋子n为0的时候那么只有一种排序方法,
那么我们可以根据这个来推出其他人数的情况
ans(m-1,n)意思是还鞋子的一个人站在最前面,之后剩下的哪些人再接着排序
ans(m,n-1) 意思是借鞋子的人站在最后面,剩下的再接着排序。
#include<cstdio>
using namespace std;
int ans(int m, int n){
if (m < n) return 0;
if (n == 0) return 1;
return ans(m-1, n)+ans(m, n-1);
int main() {
int m=0, n=0, s=0;
scanf("%d %d", &m, &n);
s = ans(m, n);
printf("%d\n",s);
return 0;
}