小明被劫持到 X 赌城被迫与其他 3 囚玩牌。
一副扑克牌(去掉大小王牌共 52 张),均匀发给 4 个人每个人 13 张。
这时小明脑子里突然冒出一个问题:
如果不考虑花色,只考慮点数也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢(21 分)
第一印象dfs搜索,整了半天不是很好寫在这里先写一种网上看到的for循环的枚举,自己居然没有想到可见对数学模型的了解真是太重要了,后期再补上dfs方法
一共是记号为A,2,3,4,5,6,7,8,9,10,J,Q,k嘚十三个元素,每个元素的情况可能是0,1,2,3,4这十三个元素的和为13即可。回溯穷举再剪枝即可
第二个是自己写的DFS搜索根据场景的不同,DFS算法還是有很多变形的要灵活运用,比如搜索棋盘搜索全排列,搜索联通快……还有很多变形,做多了自己总结灵活运用就好了以前寫的DFS都是有一个开始状态的循环,这一次我把开始循环的状态放在了DFS里面看起来更加的简洁,注意全局数组的长度加一个并且第一个え素只做初始化作用,实际用不到附上个人渣代码。