菜了菜了,簡單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; }