1 条题解

  • 0
    @ 2025-10-8 17:01:26
    #include<bits/stdc++.h> 
    using namespace std;
    typedef unsigned long long LL;
    int n, m, a[110], b[110];
    LL gcd(LL x, LL y){if(y==0)return x;else return gcd(y, x%y);}
    LL cal(LL n, LL m) {
        m=min(m, n-m);
        LL s=1;
        for(int i=1;i<=m;i++)a[i]=n-i+1, b[i]=i;
        for(int i=1;i<=m;i++) {
            for(int j=1;j<=m;j++) {
                LL d=gcd(a[i], b[j]);
                a[i]=a[i]/d;
                b[j]=b[j]/d;
            }
            s=s*a[i];
        }
        return s;
    }
    int main() {
        int n, k;scanf("%d%d", &n, &k);
        LL ans=cal(n-k+1, k);
        printf("%lu", ans);
        return 0;
    }
    
    • 1

    *【组合数:不相邻组合】不相邻组合

    信息

    ID
    2554
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    219
    已通过
    50
    上传者