2015年藍橋杯A組 牌型種數 (dfs)
阿新 • • 發佈:2019-01-03
小明被劫持到X賭城,被迫與其他3人玩牌。
一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。
這時,小明腦子裡突然冒出一個問題:
如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多少種呢?
一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。
這時,小明腦子裡突然冒出一個問題:
如果不考慮花色,只考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多少種呢?
請填寫該整數,不要填寫任何多餘的內容或說明文字。
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; int ans = 0; int vis[20]; void dfs(int x,int k) { if(x == 13) { ans++;return; cout<<ans<<endl; } for(int i = k; i <= 13; i++) { if(vis[i] < 4) { vis[i]++; dfs(x+1,i); vis[i]--; } } } int main() { memset(vis,0,sizeof(vis)); dfs(0,1); cout<<ans<<endl; return 0; }