>Link
ybtoj斗地主题
>Description
n ≤ 20 n \le 20 n≤20
>解题思路
由于对面只有一张大王,我们最多可以打一张单牌。观察一下,发现形式6、9、10、11是可以忽略的,它们可以根据其它的形式打出来
对子、三张牌、炸弹、三带一、四带二我们扫一遍,记录一下三张牌、炸弹的数量,就可以组合好。
就差顺子的处理了
一开始我是想先把其它处理完再处理顺子,但是这样其它的牌就不能全部组合起来,不然会影响顺子,所以这样做会超时(两个深搜)
那就想先处理顺子再处理其它牌,深搜一下顺子出那些牌(要判断时候合法),最后其它形式则能出则出,扫一遍就可以(全部组合起来)。给出了 n ≤ 20 n\le 20 n≤20,顺子最多不超过 4 4 4 个,所以是可以过的。
>代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 20
using namespace std;
int n, m, a[N]