zoukankan      html  css  js  c++  java
  • 组合数学---P1358 扑克牌

    P1358 扑克牌

    题解

    组合数学

    Π c[剩余未选牌数][ai] ( i = 1,2,...,m )

    注意 组合数也要取模,不然数字太大会炸

    组合数的具体实现就是Dp啊

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<algorithm>
    #include<string>
    #include<cstring>
    #include<cmath>
    #include<queue>
    
    using namespace std;
    
    typedef long long ll;
    
    inline int read()
    {
        int ans=0;
        char last=' ',ch=getchar();
        while(ch<'0'||ch>'9') last=ch,ch=getchar();
        while(ch>='0'&&ch<='9') ans=ans*10+ch-'0',ch=getchar();
        if(last=='-') ans=-ans;
        return ans;
    }
    
    const int mod=10007;
    ll f[10003][103];
    int n,m,x;
    ll ans=1;
    
    int main()
    {
        n=read();m=read();
        f[0][0]=1;
        for(int i=1;i<=n;i++){
            f[i][0]=1;
            for(int j=1;j<=100;j++)
               f[i][j]=(f[i-1][j-1]+f[i-1][j])%mod;  //防爆炸
        }
          
        for(int i=1;i<=m;i++)
           x=read(),
           ans=ans*f[n][x]%mod,
           n-=x;
           
        printf("%lld
    ",ans);
        
        return 0;
    }
  • 相关阅读:
    4. Dictionary HashTable
    5.1. ISet HashSet
    5.2.ISet SortedSet
    6.1. String
    6.2. Encoding
    2.1. List
    1. 基础类型
    0.源代码代码分布情况
    0.2.比较接口Default
    Android获取应用启动时间
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/11990562.html
Copyright © 2011-2022 走看看