代码:
#include<bits/stdc++.h>
using namespace std;
int dp(int x,int y)
{
if(y==0)
return 1;
else if(x==1)
return 1;
else if(y==x)
return 1;
else return (dp(x-1,y-1)+dp(x-1,y));
}
int main()
{
int i,j,k,m,n;
cin>>k;
while(k--)
{
cin>>n>>m;
cout<<dp(n,m)<<endl;
}
}
using namespace std;
int dp(int x,int y)
{
if(y==0)
return 1;
else if(x==1)
return 1;
else if(y==x)
return 1;
else return (dp(x-1,y-1)+dp(x-1,y));
}
int main()
{
int i,j,k,m,n;
cin>>k;
while(k--)
{
cin>>n>>m;
cout<<dp(n,m)<<endl;
}
}
分析:
注意根据提示找出递归结束条件,当y==0或者x==1或y==x的时候返回1;其他时候返回递归值即可;