首页 > 阿里9.4编程第一题,排列组合
头像
一路先前
编辑于 2020-09-04 10:27
+ 关注

阿里9.4编程第一题,排列组合

阿里9.4编程第一题,排列组合,只AC了0.9,请各位大佬帮忙看看什么问题
#include <bits/stdc++.h>

using namespace std;

long long c(int n, int k){
    long long tmp = 1;
    for (int i = 0; i < k; ++i) {
        tmp *= n-i;
        tmp /= i+1;
    }

    return tmp;
}

int main() {
//    ios::sync_with_stdio(false);
//    cin.tie(nullptr);
//    cout.tie(nullptr);

    int n;
    cin>>n;
    vector<int> a(4);
    for (int i = 0; i < 4; ++i) {
        cin>>a[i];
    }
    sort(a.begin(), a.end());
    long long res = 1;
    long long t, tmp = n*n;
    for (int i = 0; i < 3; ++i) {
        if(a[i] > 0){
            t = c(tmp, a[i]);
            if(t > 998244353)
                t %= 998244353;
            res *= t;
            tmp -= a[i];
            if(res > 998244353)
                res %= 998244353;
        }
    }

    cout<<res<<endl;

    return 0;
}



全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐