第六屆藍橋杯【省賽試題 7】牌型種數 - i 逆天耗子 - CSDN 博客

菜了菜了,簡單DFS不會寫css

本文由 簡悅 SimpRead 轉碼, 原文地址 https://blog.csdn.net/qq_34594236/article/details/60145501 版權聲明: https://blog.csdn.net/qq_34594236/article/details/60145501 html

題目描述:ios

小明被劫持到 X 賭城,被迫與其餘 3 人玩牌。 一副撲克牌(去掉大小王牌,共 52 張),均勻發給 4 我的,每一個人 13 張。 這時,小明腦子裏忽然冒出一個問題: 
若是不考慮花色,只考慮點數,也不考慮本身獲得的牌的前後順序,本身手裏能拿到的初始牌型組合一共有多少種呢?  
請填寫該整數,不要填寫任何多餘的內容或說明文字。spa

題目答案:.net

3598180code

題目思路:htm

填空, 題目,直接暴力搜索答案。有 13 種牌,每種能夠有 0,1,2,3,4 張,5 種可能。blog

題目代碼:get

/*
牌型種數

小明被劫持到X賭城,被迫與其餘3人玩牌。
一副撲克牌(去掉大小王牌,共52張),均勻發給4我的,每一個人13張。
這時,小明腦子裏忽然冒出一個問題:
若是不考慮花色,只考慮點數,也不考慮本身獲得的牌的前後順序,本身手裏能拿到的初始牌型組合一共有多少種呢?

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

*/
#include <iostream>
#include <string>
#include <algorithm>    

using namespace std;


long long ans=0;
long long sum=0;
//n=0;
/*
 * n表明第n種牌 
 * sum表明已經選了sum張牌
 * ans表明選好的13張牌的種數 
 */


void dfs(int n)
{
    if(sum>13)
    {
        return;
    }
    if(n==14)
    {
        if(sum==13)
            ans++;
    }
    else
    {
        for(int i=0;i<=4;i++)
        {
            sum+=i;
            dfs(n+1);
            sum-=i;
        }
    }
}

int main()
{
    dfs(1);
    cout<<ans<<endl;
    return 0;
}
相關文章
相關標籤/搜索