这。。。求教大神

P1358 扑克牌

数论完结路过—0—
by HuangBo @ 2018-02-02 09:50:47


同余方程,逆元 ``` #include <bits/stdc++.h> using namespace std; long long int f[10007],d[10007]; int n,m,x,y,ans=1; void exgcd(int a,int b){ if(b==0){ x=1;y=0; return; } exgcd(b,a%b); int t=x;x=y;y=t-a/b*y; } int main(){ int a; scanf("%d%d",&n,&m); f[1]=f[0]=1; for(int i=2;i<=n;i++) f[i]=(f[i-1]*i)%10007; exgcd(f[n],10007); d[n]=x; for(int i=n-1;i>=0;i--) d[i]=(d[i+1]*(i+1))%10007; for(int i=1;i<=m;i++){ scanf("%d",&a); ans=(ans*f[n]*d[n-a]*d[a])%10007; n-=a; } printf("%d",ans); return 0; } ```
by 李尧 @ 2018-09-16 23:13:09


|