52张扑克牌花色英文,没有大小王,不考虑花色,从中取13张,有多少种取发法

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
一幅扑克拿走大、小王后还有52张牌,共四种花色,老师随意发5张牌
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
一幅扑克拿走大、小王后还有52张牌,共四种花色,老师随意发5张牌
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口今天看啥 热点:
2015年第六届蓝桥杯省赛(C/C++ B组)解题报告,2015年蓝桥
第1题:统计不含4的数字
  统计1中,不包含4的数值个数。
  (@『落』常笑鹰 提供)直接推导出数学公式
  最高位除了0、4不能使用,其余8个数字(1,2,3,5,6,7,8,9)均能使用,剩下的四位(千位、百位、十位、个位)可以使用除了4以外的所有数字,所以共有 8*9*9*9*9种解,计算得答案为:52488。
第2题:计算1千天后的日期
  再过1000天是哪一日?
  直接打开Excel计算:
  (记得结果要按的格式提交)
扩展些Excel知识
  Excel其实是用一个实数来存储日期,这个实数的整数部分,就是日到当前日期的间隔天数,所以日期与整数间,可以直接做加减运算。
  有时候日期小数部分的值非0,小数部分就是对该天24小时的精确指定。
  Excel是很强大的,闲着无聊的同学,也可以用下图的方式把日期改成题目要求的格式:
  一些元老级的参赛选手,估计还做过“高斯日记”这题,那题也是可以用Excel来解:
  扩展的扩展:Excel的日期计算其实是有个很小的bug的,这在Joel的《软件随想录》中有提到他在微软的经历,挺有趣的一段历史遗留问题,有兴趣的同学不妨看看他的书。
第3题:竖式加法
  祥 瑞 生 辉
  三 羊 献 瑞
 三 羊 生 瑞 气
  题目用了8个不同的汉字,表示0~9里八种不同的数字。组成两个数值相加,等于第三个数值。
  定义一个数组int a[10],初始化用a[i]存储i。将a[2]~a[9]与各个汉字对应,然后用next_permutation全排列暴力解,注意三个数值开头不能为0,能解出第2个数值,即“三羊献瑞”对应的数字是1085。
#include &cstdio&
#include &algorithm&
int main() {
int a[10];
for (int i = 0; i & 10; i++) a[i] =
if (!a[2] || !a[6])
a[2]*1000 + a[3]*100 + a[4]*10 + a[5];
a[6]*1000 + a[7]*100 + a[8]*10 + a[3];
int z = a[6]*10000 + a[7]*1000 + a[4]*100 + a[3]*10 + a[9];
if (x + y == z) printf("%d + %d = %d\n", x, y, z);
} while (next_permutation(a, a+10));
  当然,这题也可以用数学知识简单的推导出一部分数字后,再暴力解剩下的部分。
第4题:古怪的星号修饰符
  是道代码填空题,主要是完成一个字符串s,按宽度width截断后,在固定宽度为width,两边为符号’|’的居中输出。
  难点是题目给出了printf(“%*s%s%*s”,___),要求填printf的实参列表。
  有些童鞋可能知道scanf里用*修饰符,是起到过滤读入的作用。比如一个有三列数值的数据,我只想得到第2列数值,可以在循环里用scanf(“%*d%d%*d”, a[i])来读入第i行的第2个数值到a[i]。
  * 修饰符在printf中的含义完全不同。如果写成printf(“%6d”, 123),很多童鞋应该就不会陌生了,这是设置域宽的意思。同理,%6s也是域宽。* 修饰符正是用来更灵活的控制域宽。使用%*s,表示这里的具体域宽值由后面的实参决定,如printf(“%*s”, 6, “abc”)就是把”abc”放到在域宽为6的空间中右对齐。
  明白了 * 是用变量来控制域宽,那么这题就简单了,这里应该填写5个实参。然后字符长度的计算应该用buf而不是s,因为buf才是截断后的长度,用s的话,如果s长度超过了width-2,效果就不对了。
  简单还原现场及参考答案:
#include &stdio.h&
#include &string.h&
int main() {
char s[100] = "abcd1234";
char buf[1000];
int width = 20;
strcpy(buf, s);
buf[width-2] = 0;
printf("|%*s%s%*s|\n", (width-strlen(buf)-2)/2, "", buf, (width-strlen(buf)-2)/2, "");
第5题:补充全排列的回溯算法
  1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法?
  与第3题一样可以用全排列暴力,但这题是代码填空题,且已经手写一部分全排列算法,我们负责补充其中一行代码。
  写全排就是用回溯的思想,直接猜到for循环里的第三行,应该就是把第一行的交换操作再交换回来~~复制for里的第一行代码,运行下程序,还不放心就调试下,看看数组是不是有按字典序在变化就行了。
  答案:{t=x[k]; x[k]=x[i]; x[i]=t;}
第6题:加号改乘号
  把1+2+3+…+48+49中的两个加号改成乘号(修改位置不能相邻),使得式子的结果由1225变为2015。
  用双循环暴力两个乘号的位置,计算在数字i、j后的加号改为乘号,式子数值的变化即可,注意j的起始位置为i+2。
#include &stdio.h&
int main() {
for (int i = 1; i &= 48; i++) {
for (int j = i + 2; j &= 48; j++) {
if (1225 - i - (i+1) - j - (j+1) ==
2015 - i*(i+1) - j*(j+1))
printf("%d\n", i);
  除了输出的一个10是题目已提示的解,另一个16就是答案。
第7题:牌型种数
  去掉大小王的52张扑克牌,不考虑花色及顺序,取13张,一共有多少种取法?
  大部分人应该都能想到用13重循环暴力解(每层循环都是0~4)的方法,当累加和为13时,ans++。
  我在赛中想到的是动态规划,因为我想到了“小明爬楼梯”,且跟赛前,__M子__给我们讲的去年赛题“地宫取宝”的dp思路非常像。
  假设牌是从1到13按顺序取的,dp[i][j]表示取到第i号的牌,目前总共有j张牌的取法总数,那么有状态转移方程(注意公式没考虑边界处理):
  dp[i][j]=∑k=j-4jdp[i-1][k]
#include &iostream&
typedef long long LL;
LL dp[14][14]; // dp[i][j]: 当前到第i张牌,总共有j张牌时的解的个数
int main() {
dp[1][0] = dp[1][1] = dp[1][2] = dp[1][3] = dp[1][4] = 1;
for (int i = 2; i &= 13; i++) {
for (int k = 0; k &= 13; k++) {
if (k - 4 &= 0) dp[i][k] += dp[i-1][k-4];
if (k - 3 &= 0) dp[i][k] += dp[i-1][k-3];
if (k - 2 &= 0) dp[i][k] += dp[i-1][k-2];
if (k - 1 &= 0) dp[i][k] += dp[i-1][k-1];
dp[i][k] += dp[i-1][k];
cout && dp[13][13] &&
  答案:3598180
第8题:计算房子间曼哈顿距离
  房子按S形摆放,如
  7 8 ……
  现输入每行的宽度w,计算出任意两个房子m、n的曼哈顿距离(横向距离+竖向距离)。
直接看代码
#include &iostream&
#include &cmath&
// 输入宽度w和房子编号n,返回房子所在行x,列y
void GetPos(int w, int n, int& x, int& y) {
x = (n-1) / w + 1;
if (y == 0) y =
if (x%2 == 0) { // 偶数行要倒着数
y = w - y + 1;
int main() {
int x1, y1, x2, y2;
cin && w && m &&
GetPos(w, m, x1, y1);
GetPos(w, n, x2, y2);
cout && abs(x1-x2) + abs(y1-y2) &&
第9题:垒骰子(矩阵快速幂模)
输入n,m,表示用n个骰子,在m个约束条件下,从下往上叠成一列。接下来m行,每行有两个数a,b,表示骰子之间数字a、b两个所在面不能拼接。
问这n个骰子一共有多少种垒法?答案对1e9+7取余。
注意骰子摆好后,四个方向均能转动,即样例输入:
的样例输出是:
矩阵快速幂基础
  请读者先看这篇文章:hdu5171 GTY’s birthday gift(BestCoder Round #29 1002),或阅读其他矩阵快速幂模文章,自行补基础。我给出的这篇文章,写了个矩阵快速幂模的类模板,将在下面的代码中使用。实际解题中,可以根据特殊问题写特殊代码,不必写出通用的矩阵类,加快解题速度。
  比赛中,不使用模板,建议数组从下标1开始使用。这里为了和模板配合,所以假设骰子从0开始编号。可以发现规律,如果骰子的a面为0,1,2,那么a的对面数值就是a+3;相反,如果骰子的a面为3,4,5,那么a的对面数值就是a-3。这个由当前面变换到对面的操作可以用公式完成:(a+3)%6。
  现在用一个bool数组isLimit[6][6]来存储,isLimit[i][j]为真,代表当前骰子i面朝上,不能接j面朝上的骰子。
  矩阵快速幂模,主要是找到A^(n-1) * X中的A和X。那么这里的X向量,X[i]初值就是第一个骰子i面朝上的方法数,一共是4种。即X[0]~X[5]均为4。
  A[i][j]就是当前骰子i面朝上,接j面朝上后,原方法数要乘上的因子。故A[i][j]可以由isLimit直接得到。如果i-&j被限制,乘因子就是0,否则就是4。
#include &algorithm&
#include &cstring&
#include &iostream&
/*矩阵类(用于快速幂模)
1、T是整型类型,N是方阵大小,MOD是取余的值
2、Eye是单位阵
template &typename T, const int N, const int MOD&
class Matrix {
T val[N][N];
Matrix() { memset(val, 0, sizeof(val)); }
Matrix(T a[N][N]) { memcpy(val, a, sizeof(val)); }
Matrix operator*(const Matrix& c) const {
for (int i = 0; i & N; ++i)
for (int j = 0; j & N; ++j)
for (int k = 0; k & N; ++k) {
res.val[i][j] += val[i][k] * c.val[k][j];
//防止矩阵元素变为负数,若不需要,去掉"+MOD"
res.val[i][j] = (res.val[i][j] + MOD) % MOD;
Matrix& operator*=(const Matrix& c) {
*this = *this *
Matrix operator^(int k) const { //返回*this^k
Matrix res = Eye();
Matrix step(*this);
while (k) {
if (k & 1) res *=
Matrix Eye() const {
for (int i = 0; i & N; i++) a.val[i][i] = 1;
void out() const {
for (int i = 0; i & N; i++) {
for (int j = 0; j & N; j++)
cout && val[i][j] && " ";
cout && "\n";
T* operator[](int i) { return val[i]; }
typedef long long LL;
const int MOD = 1e9 + 7;
int main() {
Matrix&LL,6,MOD& A, X, Y;
bool isLimit[6][6];
// 输入处理
cin && n &&
memset(isLimit, false, sizeof(isLimit));
for (int i = 0; i & i++) {
cin && a &&
isLimit[a-1][ (b+2)%6 ] =
isLimit[b-1][ (a+2)%6 ] =
// 初始化A
for (int i = 0; i & 6; i++) {
for (int j = 0; j & 6; j++) {
A[i][j] = (!isLimit[i][j]) * 4;
// 初始化X
for (int i = 0; i & 6; i++) X[i][0] = 4;
// 计算Y及答案
Y = (A^(n-1)) * X;
LL sum = 0;
for (int i = 0; i & 6; i++) sum += Y[i][0];
cout && sum % MOD &&
第10题:树形DP
  在一颗树中,每个点都有一个权值,有正有负。
  要求找一个连通的点集S,使得累加和最大。
  树形DP不是我熟悉的模块,这个坑就交给别人填了。
  树形DP参考博客:“树形DP(HDOJ03 5148 POJ2342)”,及下方 __M子__提供的代码:
#include&iostream&
#include&algorithm&
#include&cstdio&
#include&vector&
typedef long long LL;
const int MAXN=;
const int INF=-;
LL dp[MAXN][2];
vector&int&tree[MAXN];
LL w[MAXN];
void dfs(int p,int fa){
dp[p][0]=max(dp[p][0],w[p]);
dp[p][1]=max(dp[p][1],w[p]);
for(int i=0;i&tree[p].size();i++){
int son=tree[p][i];
if(son^fa){
dfs(son,p);
dp[p][0]=max(dp[p][0],dp[son][0]);
if(dp[son][1]&0)dp[p][1]+=dp[son][1];
dp[p][0]=max(dp[p][0],dp[p][1]);
int main(){
int n,a,b;
for(int i=1;i&=n;i++)cin&&w[i];
for(int i=1;i&=n;i++){dp[i][0]=INF;dp[i][1]=INF;}
for(int i=1;i&n;i++){
cin&&a&&b;
tree[a].push_back(b);
tree[b].push_back(a);
dfs(1,-1);
cout&&dp[1][0]&&"\n";
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&
WEB编程教程最近更新扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
从一副去掉大小王的52张扑克牌中任取5张,取得四种花色齐全的概率为
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
C(4,1)*C(13,2)*13^3/C(52,5)≈0.
为您推荐:
其他类似问题
扫描下载二维码一副扑克牌(取出大、小王) 共52张牌,一次至少要拿出几张牌,才能保证4种花色的牌都有呢?
一副扑克牌(取出大、小王) 共52张牌,一次至少要拿出几张牌,才能保证4种花色的牌都有呢?
来源:网络收集 & 发布时间: &
正确,本人很急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急!!!
“3”代表什么??????????3代表前三种花色
都取完了加1就是第四种花色谢谢!!!!
每种花色13张13*3+1=40(张)
一副扑克牌(取出大、小王)共52张。我一次至少要拿出多少张牌...一副扑克牌.(取出大、小王)共52张。①一次至少要拿出多少张牌...1一副扑克牌(取出大、小王)共52张我至少要拿出多少张牌,才能保...一副扑克牌(取出大、小王) 还有52张牌我至少要拿出多少张牌,...3一幅扑克牌【除去大 小王】有4种花色,每种花色都有13张,从扑...
更多关于“一副扑克牌(取出大、小王) 共52张牌,一次至少要拿出几张牌,才能保证4种花色的牌都有呢?”内容
一副扑克牌.(取出大、小王)共52张。①一次至少要拿出多少张牌... ……①一次至少拿出5张牌,才能保证有2张牌是同花色的.②至少要拿出40张牌,才能保证有2张牌是红桃.请采纳,谢谢.……
一副扑克牌(取出大、小王)共52张。我一次至少要拿出多少张牌... ……因为一副扑克牌共有4种花色所以一次至少要拿出7张牌才能保证一定有三张牌是不同花色的4+3=7张……
一副扑克牌共52张(去掉大王、小王),问至少要取出多少张牌才保... ……
一副扑克,共有4种花色,每种13张。
任意取出3张且是同一种花色的概率为:P(A)=P52!+... 花色的概率为:P(B)=P52!+P51!*P25!+P50!*P24!
则:任意取出3张保证有3种花色的概率...……
一副扑克牌(取出大、小王) 还有52张牌我至少要拿出多少张牌,... ……假设最不顺利的情况,也就是拿光了黑桃、方块和梅花后才抽到红桃,也就是说要拿走13×3+2=41张才能保证有两张红桃……
一副扑克牌(取出大、小王)共52张我至少要拿出多少张牌,才能保... …… 至少拿掉41张……
在一副扑克牌中(共54张)至少拿出几张,才能保证拿出的牌中有两... ……16张……扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
一副扑克牌(去除大、小王)有4种花色,每种花色都有13张牌.从扑克牌中取出两张王牌,剩下52张牌.至少要抽出几张牌来,才能保证有3张是同花色的?至少要抽出几张牌来,才能保证有3张是同色的?(列式)是同色,不是同花色!
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
1、1*4+1=5(张)2、2*4+1=9(张)
为您推荐:
其他类似问题
必须是至少三张出现同花色
同时必须是至少3张出现同色你要三张是同色的对吧?你抽个两张或者一张出来,你给我找个3张同色的我看看?
是拿掉两张王牌。请看题,谢谢
你可以试试
9张才能保证
同色,不是同花色!!
三张。。。。。。
三张同色,不是两种同色
扫描下载二维码}

我要回帖

更多关于 扑克花色 英文 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信