UPC--扑克牌

2023-11-02

题目描述

从一副含有n(n≤10000)张的扑克牌[显然每张扑克牌都不相同]中,分给m(m≤100)个人,第i个人得到ai (0≤ai≤100)张牌,求一共有几种分法,这个数可能非常大,请输出此数模10007后的结果。

输入

第一行两个整数 为 n m
第二行 m个整数 ai

输出

一个整数,表示有多少种分法

样例输入

【样例15 2
3 1
【样例220 19
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

样例输出

【样例120
【样例28707

思路:很明显的组合数学的经典问题,可以用杨辉三角打表来处理,然后做乘法取余就完事比如第一个样例就是C(5,3)*C(2,1);
利用for循环来解决问题

#pragma GCC optimize (2)
#pragma G++ optimize (2)
#include <bits/stdc++.h>
#include <algorithm>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;
#define wuyt main
typedef long long ll;
#define HEAP(...) priority_queue<__VA_ARGS__ >
#define heap(...) priority_queue<__VA_ARGS__,vector<__VA_ARGS__ >,greater<__VA_ARGS__ > >
template<class T> inline T min(T &x,const T &y){return x>y?y:x;}
template<class T> inline T max(T &x,const T &y){return x<y?y:x;}
//#define getchar()(p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
//char buf[(1 << 21) + 1], *p1 = buf, *p2 = buf;
ll read(){ll c = getchar(),Nig = 1,x = 0;while(!isdigit(c) && c!='-')c = getchar();
if(c == '-')Nig = -1,c = getchar();
while(isdigit(c))x = ((x<<1) + (x<<3)) + (c^'0'),c = getchar();
return Nig*x;}
#define read read()
const ll inf = 1e15;
const int maxn = 2e5 + 7;
const int mod = 1e9 + 7;
#define start int wuyt()
#define end return 0
ll num[10008][108]={1};
///
void yanghui()
{
    num[0][0]=1;
    for(int i=1;i<=10000;i++){
        for(int j=0;j<=100;j++){
            num[i][j]=(num[i-1][j]+num[i-1][j-1])%10007;
        }
    }
}
ll n,m,all=1;
start{
    n=read,m=read;
    yanghui();
    ///cout<<num[3][2]<<endl;
    for(int i=1;i<=m;i++){
        int temp;
        scanf("%d",&temp);
        all=(all*num[n][temp])%10007;
        n-=temp;
    }
    cout<<all;
    end;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UPC--扑克牌 的相关文章

  • MySQL 删除表中的数据记录

    文章目录 前言 一 删除表中的数据记录 1 删除特定数据记录 2 删除所有数据记录 总结 前言 删除数据记录是数据操作中常见的操作 可以删除表中已经存在的数据记录 在MySQL中可以通过DELETE语句来删除数据记录 该SQL语句可以通过以
  • JAVA中extends 与implements区别

    http www cnblogs com hnrainll archive 2011 10 11 2207773 html JAVA中extends 与implements有啥区别 1 在类的声明中 通过关键字extends来创建一个类的子
  • 爬取豆瓣电影排行榜top 250

    coding utf 8 import requests import re os 爬取豆瓣250 def douban ranking start 构建请求 param start start filter respon requests
  • 使用VS Code断点调试PHP

    vs code 使用一款杰出的轻量级代码编辑器 其中的插件工具不胜枚举而且还在不断增加 使用 vs code 调试 php 代码更是方便简洁 下面我们来一起看一下 1 安装 XDebug 扩展 调试 php 代码最常用的就是 XDebug
  • python:ezdxf——如何使用

    官方文档 https ezdxf readthedocs io en master howto index html 文章目录 一 基本文件 1 设置 获取标头变量 2 设置DXF绘图单元 3 创建更具可读性的DXF文件 DXF漂亮打印机
  • 下载vant源码在本地查看小程序模版

    官网地址 Vant地址 运行 git clone git github com youzan vant weapp git cd vant weapp npm install npm run dev 接着打开微信开发者工具 导入exampl
  • Rethinking BiSeNet For Real-time Semantic Segmentation

    Rethinking BiSeNet For Real time Semantic Segmentation 摘要 BiSeNet已经被证明是一种流行的实时分割的双流网络 然而 其增加额外路径来编码空间信息的原理是耗时的 并且从预训练的任务
  • OSS操作示例

    一 OSS API文档 https www alibabacloud com help zh doc detail 103185 htm spm a2c63 l28256 b99 879 7d315cc5HEvVNn 二 demo ifnd
  • Linux调试工具

    addr2line translates addresses into file names and line numbers Given an address in an executable or an offset in a sect
  • JDBC原始版本,未封装

    JDBC原始版本 未封装 public static void main String args Connection connection null PreparedStatement preparedStatement null Res
  • fastadmin 部署模板变量

    对于 view 内的HTML 可以直接使用 this gt assign group chat id get group chat id
  • Check—强大的C语言单元测试框架

    1 前言 在看基数树源码时 发现源码里面有个deps的依赖文件夹 deps里是一个叫Check的源码安装包 Google之后发现Check原来是C语言单元测试框架 关于单元测试 Wikipedia的介绍点这里 Check 最主要的优点是对于
  • HR SaaS厂商,进入决赛圈

    在愈发需要降本增效的节点 数字化的价值也更在被越来越多的企业重新审视 这种重视不再是之前或有或无的可选项 而是基于真正人效比维度的必选项 作者 斗斗 编辑 皮爷 出品 产业家 SaaS行业 正在发生一些微妙的变化 以HR SaaS赛道为例
  • 红帽企业版linux 7.3,红帽推企业Linux 7.3 新功能特性一览

    原标题 红帽推企业Linux 7 3 新功能特性一览 IT168 云计算 日前红帽宣布推出企业Linux 7 3版本 作为Linux平台的最新版本 红帽方面透漏本次更新的版本在网络与存储功能两方面做到了强化 同时 该版本还引入了关于Linu
  • 跨域ajax原理,跨域 ajax 请求之 cors 原理解析

    本博客不欢迎 各种镜像采集行为 请尊重知识产权法律法规 大家都是程序员 不要闹得不开心 本文是系列文章 上一篇文章地址是 https newsn net say cross domain ajax jsonp html 本文主要说两个高级点
  • 写爬虫遇到验证码识别问题的解决方案

    写爬虫遇到验证码识别问题的解决方案 遇到滑块问题 在写爬虫的时候 经常会遇到滑块问题 很多次都想过尝试如何攻破滑块 但是每次都没成功 除了最开始的极验滑块 当时通过原图和滑块图的对比 能够得出缺口坐标 但是随着极验 网易 腾讯滑块的更新 已
  • 图(Graph)——图的遍历算法

    图 Graph 图的遍历算法 前言 深度优先搜索 广度优先搜索 前言 有了图的存储结构以后 就要考虑解决图的相关问题 关于图的算法有很多 比如最小生成树 最短路径 拓扑排序等 这些算法以后有空补上 现在主要记录图的遍历算法 在介绍前 先给出
  • 贪心之商人的诀窍

    商人的诀窍 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description E star和von是中国赫赫有名的两位商人 俗话说的好无商不奸 最近

随机推荐

  • web端生成pdf,前端生成pdf导出并自定义页眉页脚

    web前端生成pdf文档 2023 06 15 根据码友 咔布哩 需求补充完善一丢丢功能 2023 05 08 重新整理 封装目录结构图 generatePdfFile config js generatePdfFile index js
  • dede后台-系统基本参数无法保存中文/显示空白

    dede后台 系统基本参数无法保存中文 显示空白解决办法 dede templets sys info htm里面搜索 htmlspecialchars row value 替换成 htmlspecialchars row value EN
  • C++—C++程序基础

    文章目录 1 数据类型 1 1 基本数据类型 1 2 字面值常量 1 3 左值和右值 1 4 引用与指针 2 基本输入输出 2 1 输出 2 2 输入 3 函数 3 1 内联函数 3 2 函数的重载 1 数据类型 1 1 基本数据类型 在C
  • 用c语言编写九九乘法表

    这个需要使用两重循环来实现 我们用i表示行 外面一层循环 for i 1 i lt 9 i 外循环 从第一行到第九行 第一步 输出该行的乘法式子 第二步 该行结束换行 我们只需要将中间2步补充完整即可 第二步换行比较简单 printf n
  • 1P+N

    1p n是什么意思 单极二线 就是 一个单片空气开关 和一个漏电保护模块组合在一起的开关 火线 零线一起进出组合开关 当漏电发生时漏电模块带动空气开关跳闸 火线和外网电断开 但是零线是不断开的
  • 公共子串计算

    h1 公共子串计算 h1
  • 双线macd指标参数最佳设置_mt5怎么添加双线macd?mt5中macd怎么设置快慢线?

    在mt4平台中怎么添加双线macd指标 的设置要求是这样的 将MACD的快速EMA参数设定为8 将慢速EMA参数设定 打开mt4 菜单栏选择 数据文件夹 mql4 indicator 将技术指标复制粘贴进去 然后关闭mt4重新打开 菜单栏
  • Android Studio打开XML文件Design显示Waiting for build to finish

    Android Studio打开XML文件Design显示Waiting for build to finish 项目编译完 Design的界面一直出现如下图所示情况 解决方法一 重构项目 按下 ctrl shift A 输入 Sync P
  • [spring处理webservice报文] 3 rest处理soap报文

    目录 1 背景 2 rest请求处理soap报文 2 1 创建controller 3 调试 1 背景 前面两篇讲解了spring处理soap报文的囧途 如下 这一篇讲解下spring如何通过post类型的请求来处理soap报文 sprin
  • rust的错误和异常

    一 错误和异常 在所有语言中 对程序运行不按照设计的 套路 出牌 都是错误 异常可以理解成程序的错误引发了运行的故障 甚至导致程序崩溃 正因为如此 对错误和异常的处理是所有语言都必须拥有的一个行为 无论是从语法层面还是从运行检查层面 都是无
  • 51单片机PWM输出

    PWM输出 学期快结束了 51单片机的学习也差不多告一段落 也快要转入新的学习阶段 寒假找个时间看看32 小白哈哈哈 下面是我学习51定时器弄出来的小东西 一个PWM的输出 还请大神指点 刚开始觉得PWM输出应该不难 很容易做的 但是后面越
  • Spring Boot使用Scheduled完成自动任务

    说明 Scheduled注解可以控制方法定时执行 其中有三个参数可选择 1 fixedDelay控制方法执行的间隔时间 是以上一次方法执行完开始算起 如上一次方法执行阻塞住了 那么直到上一次执行完 并间隔给定的时间后 执行下一次 2 fix
  • layui php phpexcel导出,Yii2 基于 layui 的 Excel 上传并导入数据(含分页)

    安装命令 composer require phpoffice phpexcel 引入layui包 我这里用的是2 4 5的版本 请自行下载对应版本 layui前台页面 导入文件 卡号信息 layui use form element up
  • 【python随笔】之【将doc、docx文件保存为txt文件】

    import win32com client def change word to txt word path save path print 读取中 word win32com client Dispatch Word Applicati
  • vector 操作

    C 内置的数组支持容器的机制 但是它不支持容器抽象的语义 要解决此问题我们自己实现这样的类 在标准C 中 用容器向量 vector 实现 容器向量也是一个类模板 标准库vector类型使用需要的头文件 include
  • 汇编语言笔记-keil5软件仿真及调试

    目录 keil5调试功能 软件仿真设置 硬件调试设置 调试方法 调试选项及介绍 调试窗口 Command Disassembly Symbols Registers Call Stack Locals Watch Memory Serial
  • 赶快进来!!!手把手教你贪吃蛇

    一 大体框架 这里和前面写过的游戏一样 大体框架都是这样 有个简要的目录 我们主要是对play 函数进行封装 由于我们引用了自己的头文件 game h 所以我们可以把所要引用的库函数的预处理指令都放在 game h 的头文件中 如果你细心的
  • Vue3中vuex的基本使用

    一 基本结构 src store index js中 代码如下 vue3中创建store实例对象的方法createStore 按需引入 import createStore from vuex export default createSt
  • pywt 安装学习

    安装 conda install c conda forge pywavelets github地址 里面有demo https github com PyWavelets pywt 这个是学习笔记 https blog csdn net
  • UPC--扑克牌

    题目描述 从一副含有n n 10000 张的扑克牌 显然每张扑克牌都不相同 中 分给m m 100 个人 第i个人得到ai 0 ai 100 张牌 求一共有几种分法 这个数可能非常大 请输出此数模10007后的结果 输入 第一行两个整数 为