蓝桥 牌型总数 dfs(暴力)
2018-02-24 16:51
239 查看
题目:
牌型种数:
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
方法一:直接写13重循环得结果。
方法二:dfs
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=1e5+50;
int ans;
void dfs(int type,int n){///type 为牌得点数(即种类),n为手上现在一共有多少张牌
if(n>13) return;
if(type==13){///需要给type一个递归出口
if(n==13) ans++;
return;
}
for(int i=0;i<=4;i++)///枚举每种牌拿的张数
dfs(type+1,n+i);
}
int main(){
ans=0;
dfs(0,0);
printf("%d\n",ans);
}
牌型种数:
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
方法一:直接写13重循环得结果。
方法二:dfs
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=1e5+50;
int ans;
void dfs(int type,int n){///type 为牌得点数(即种类),n为手上现在一共有多少张牌
if(n>13) return;
if(type==13){///需要给type一个递归出口
if(n==13) ans++;
return;
}
for(int i=0;i<=4;i++)///枚举每种牌拿的张数
dfs(type+1,n+i);
}
int main(){
ans=0;
dfs(0,0);
printf("%d\n",ans);
}
相关文章推荐
- 蓝桥杯 牌型种数 (暴力||dfs)
- PAT 7 牌型总数(dfs)
- [HDU 1427]速度计算24点(DFS暴力搜索)
- hdoj 1015 暴力dfs
- [2-SAT 字典序最小解 暴力dfs 模板题] HDU 1814 Peaceful Commission
- Thrall’s Dream 第四届山东省省赛 (直接暴力DFS)
- (蓝桥杯第六届B组)牌型种数 dfs
- CF Lucky Numbers (easy) (dfs简单枚举/next_permutation暴力)
- CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)
- 2017蓝桥杯模拟题 滑动解锁(暴力DFS)
- hdu 2616 暴力使用 dfs求最短路径(剪枝有点依稀)
- 完美正方形(DFS 暴力搜索)
- hdu 4770 Lights Against Dudely(暴力枚举dfs)
- 51nod 1489 蜥蜴和地下室 暴力dfs
- SDUT 3322 DFS暴力 数论
- 暴力枚举,dfs(连连看,HDU 4272)
- NOIP模拟题 [暴力][贪心][栈][dfs][找规律]
- HDU 1058 Humble Numbers 【暴力(DFS)】
- ZSC oj 1538(DFS||暴力)
- HDU 6113 度度熊的01世界 (暴力dfs)