1 条题解

  • 0
    @ 2026-9-30 12:43:05

    C++ :

    
    #include <cstdio>
    int main(){
        int x, y; if(scanf("%d %d", &x, &y) != 2) return 0;
        /* 只能向下或向右:从 (0,0) 到 (x,y) 的路径数 = C(x+y, x)
           x,y <= 10 -> x+y <= 20,用递推表算组合数 */
        long long c[32][32];
        for(int i=0;i<=x+y;i++){
            c[i][0] = 1;
            for(int j=1;j<=i;j++)
                c[i][j] = (j == i) ? 1 : c[i-1][j-1] + c[i-1][j];
        }
        printf("%lld\n", c[x+y][x]);
        return 0;
    }
    
    
    • 1

    信息

    ID
    2671
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者