悬赏算法题c语言给红包

帮我解下,用c++,解出来给20红包

img


java解法在下面 改成c就行

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class demo {
    public static void main(String[] args) {
        BigInteger f[][]=new BigInteger[1005][1005];
        for (int i=0;i< f.length;i++){
            Arrays.fill(f[i],new BigInteger("0"));
        }
        f[0][0]=new BigInteger("0");
        for (int i=0;i<f.length;i++){
            f[i][0]=new BigInteger("1");
        }
        for (int i=1;i<f.length;i++){
            for (int j=1;j<f[0].length;j++){
                if (i>j){
                    f[i][j]=f[i-1][j].add(f[i][j-1]);
                }
            }
        }
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt()+1;
        int m = sc.nextInt();
        System.out.println(f[n][m]);
    }

}

C++的话,直接用stl的stack就可以了。