递归思路很优雅,当然你用排列组合更优雅
#include <algorithm>

using namespace std;

int dfs(int x,int y,const int&n,const int&m){
    if(x>n||y>m) return 0;
    if(x==n&&(y==m)) return 1;
    return dfs(x+1,y,n,m)+dfs(x,y+1,n,m);
    
}

int main() {
    int n,m;
    while(cin>>n>>m){
        int cnt = 0;
        cnt = dfs(0,0,n,m);
        cout<<cnt<<endl;
        
    }
}