蓝桥杯 - 未名湖边的烦恼(递归)

这是一道递归题,
首先,如果借鞋子的人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;
}

发布了155 篇原创文章 · 获赞 16 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章