阿里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;
}



#笔试题目##阿里巴巴#
全部评论
第二题有代码吗
点赞 回复 分享
发布于 2020-09-04 10:52
听别的大佬说需要:乘法逆元求组合数
点赞 回复 分享
发布于 2020-09-04 11:23
阿里现在竟然还有笔试,我还以为秋招都截止了
点赞 回复 分享
发布于 2020-09-04 11:45
是不是要考虑n=10,a/b/c/d=25时的特例?有个老哥直接输出777220564
点赞 回复 分享
发布于 2020-09-04 11:55

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
点赞 4 评论
分享
牛客网
牛客企业服务