题解:动态规划,或者递归,对于像我这种脑地不太灵活的人,递归更容易理解。 因为要有鞋可租,所以还鞋的一定大于租鞋的,如果小于租鞋的说明不满足题意,就返回0,如果没有租鞋的就是1了,其余就递归还鞋个数-1和和租鞋-1的情况。
#include<bits/stdc++.h>
using namespace std;
int func(int m,int n)
{
if(m<n)
return 0;
if(n==0)
return 1;
return func(m-1,n)+func(m,n-1);
}
int main()
{
int m,n;
cin>>m>>n;
cout<<func(m,n)<<endl;
return 0;
}