题解 P4050 【[JSOI2007]麻将】

2019-01-11 17:35:11


考虑一个很暴力的思路。

先枚举缺哪张牌,然后再枚举哪种牌是对子。

现在主要是判断刻子和顺子。手玩一下可以发现,优先凑刻子肯定更好。

于是再从小到大遍历每种牌,尽量多地凑刻子(s[i]%=3),再把比它大的两张牌凑成顺子(s[i+1]-=s[i],s[i+2]-=s[i])。

如果有一种牌的数量小于 $0$ 了,那么就不行。

最后注意判一下无解。代码见blog