第六屆藍橋杯省賽C B組 牌型種數

2021-10-04 11:03:14 字數 809 閱讀 7956

小明被劫持到x賭城,被迫與其他3人玩牌。 一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。 這時,小明腦子裡突然冒出乙個問題:

如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多少種呢?

請填寫該整數,不要填寫任何多餘的內容或說明文字。

首先我們要了解卡牌除了大小王之外a到k這13個系列,每個系列有4張牌.

我們此時不考慮花色, 不考慮先後順序,只考慮點數。

如果我們假設從a到k發放卡牌,每次到自己手上的數量存在0,1,2,3,4一共五可能,發完一次之後當前花色的『剩餘數量為0.

則我們只需要dfs模擬這個過程,當手上卡牌為13張之後種類+1,如果所有花色剩餘數量都為0或者卡牌大於13張則退出

#include

using

namespace std;

int ans;

void

dfs(

int s,

int k)

//s代表拿到的牌的總數,k代表有多少花色被清空

//拿到13張牌,且所有花色都被清空,答案+1

for(

int i =

0; i <=

4; i++

)dfs

(s + i, k +1)

;}intmain()

第六屆藍橋杯 牌型種數

題目大意 52張去除大小鬼的撲克牌,問抽到的牌型有多少種 解題思路 做的時候思路還不夠清晰,要加油了,第九屆藍橋杯滿打滿算只剩39天了!本題可以暴力,要寫13個迴圈,太冗長。於是改用爆搜,從這13個牌型每次搜尋乙個牌型拿的張數,遞迴出口是把13種牌型選完從52張牌抽出13張的話次數就 1,本來用乙個...

藍橋杯第六屆 省賽C B組 答案

第一題ans 52488 include using namespace std bool check int x return true int main cout cnt endl return0 第二題 ans 2017 08 05 include using namespace std in...

河南省藍橋杯第六屆省賽 6 牌型種數

題目描述 小明被劫持到x賭城,被迫與其他3人玩牌。一副撲克牌 去掉大小王牌,共52張 均勻發給4個人,每個人13張。這時,小明腦子裡突然冒出乙個問題 如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多少種呢?請填寫該整數,不要填寫任何多餘的內容或說明文字...