代码求调
  • 板块P1350 车的放置
  • 楼主zcxnb
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/19 21:13
  • 上次更新2024/12/20 13:18:34
查看原帖
代码求调
473401
zcxnb楼主2024/12/19 21:13

套公式写的,为啥不对呢?

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e3,mod=1e5+3;
int a,b,c,d,k,ans;
int fac[N+50],lg[60];
int quickpow(int x,int k){
    lg[0]=x;
    for(int i=1;i<=30;i++){
        lg[i]=lg[i-1]*lg[i-1]%mod;
    }
    int res=1;
    for(int i=0;i<=30;i++){
        if(!((k>>i)&1))  continue;
        res=res*lg[i]%mod;
    }
    return res;
}
int C(int n,int m){
    if(n<m)  return 0;
    return fac[n]*quickpow(fac[m],mod-2)%mod;
}
signed main(){
    fac[0]=1;
    for(int i=1;i<=N;i++){
        fac[i]=fac[i-1]*i%mod;
    }
    scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&k);
    for(int i=0;i<=k;i++){
        ans+=C(a,i)*C(b,i)%mod*fac[i]%mod*C(a+c-k,k-i)%mod*C(d,k-i)%mod*fac[k-i]%mod;
        ans%=mod;
    }
    printf("%lld",ans);
}
2024/12/19 21:13
加载中...