张昌蒲-严教算法
# 张昌蒲-严教算法
三国杀于2020年推出了武将张昌蒲,其中涉及到了算术,特此记录下怎么算比较方便。 本博客主要参考自橙相的教学视频:【百坑讲坛·零】第100期·量产人形自走计算器_哔哩哔哩 (opens new window),主要有3种实用的方法。
# 基础
最简单的就是拿点数相等的,或者看看哪几张牌的点数之和等于另一个点数。
此外,如果只有4张牌,就比较简单了。我们可以直接将其全部拖下来,可以看到点数之和是奇数,则一定是拿不完的,需要丢个奇数(例如13):
如果单独看4张并心算,可能会看漏,而直接拖下来的话,不用验算,一定能对,拖只要几秒就行,很快,上下挪也很快。如果靠口算,则算好后再挪就比较费时间。
如果是5张及以上,用该方法难度会加大,不推荐使用。
# 等差数列
举个例子:牌堆里有3,4,J,Q 几张牌,3和4相差1,J和Q相差1,那我们只需将最大的和最小的放到一边即可,也就是3+Q = 4 + J。相差2,相差3,相差5都行。这是最简单也是最实用的方法。举例:
# 双倍插入法
该方法也很实用,非常建议掌握。
举个例子,目前根据等差数列可以得到这样的结果:
如果我们将第2行的“杀”放到第3行,那么第2行会少3点,第3行会多3点,两者就会差6点,此时就可以将6点的“桃”放到第二列:
熟练后不用过脑子,可以直接放:看到第一行中某张牌的点数,是下面两行中某张牌点数的两倍,就可以直接放。例如上图中,第二行有个6点的桃,第一行有个Q点的“方天画戟”,那么就可以直接将Q点拖到第二行,6点拖到第3行:
# 差值置换法
该方法难一点点,但是如果想牌拿关键牌的话,就要掌握该法。
上一步我们是得到了这样的结果:
如果我非常想要第一行的“无懈可击”,怎么办呢?
我们可以看到,“方天画戟”和“无懈可击”相差1,而第3行的3点的“杀” 和 第一行的2点的“八卦阵”也相差1,那么我们就可以:
- 将“无懈可击” 和 “方天画戟”交换
- 将3点的“杀” 和 第一行的2点的“八卦阵
这样第二行的点数-1,第三行的点数-1,两行的点数相等:
我们还可以继续用双倍插入法,可以看到此时第一行有个4点的“杀”,第三行有个2点“八卦阵”,结果:
此外,可以看到第2行有个6点的“乐不思蜀”,第1行有个Q点的“方天画戟”,最后结果如下:
# 例子
掌握了理论,接下来就是多加练习了,可以参考视频【百坑讲坛·零】第100期·量产人形自走计算器_哔哩哔哩 (opens new window) 里的例子。
我们可以看看下面这个例子:
第一行的9点和J点,可以看成一张点数为20的牌,而20和Q点的“闪电”相差8;第二行有个4点的过拆。此时我们就可以:
将20点放到第2行,将Q点放到第3行,此时两边相差8点:
将4点放到第3行:
这个原理就是让第2行和第3行相差8点,然后将4点挪到第3行,两行的点数就会相等了。其实也是双倍插入法的一个实例。
再举一个例子:
然后可以看到Q点,虽然第2,3行中没有点数为6的,但是可以看到第2行K点的“铁索连环”和第3行7点的“闪”相差6,因此可以将K点拖下,将7点放到第2行,此时两行就相差12点:
再将Q点放到第2行,就算完了(剩下的牌是奇数,则一定是拿不了的):
这个可能一下子理解不了,没关系,多练习几次,融会贯通后就可以很快了。
# 练习程序
有不少大佬写了练习用的程序,例如:张菖蒲严教练习程序分享(非游戏中使用的计算器)+up主实况视频_教程 (opens new window)
也有微信小程序,参考:张菖蒲计算器 (opens new window)
# 小结
算牌的步骤小结:
先放点数相同的
寻找简单和,例如1 4 5 , 3 6 9,2 8 10 (可以将几张牌视为一张大点数的牌)
然后放等差数列的
双倍插入法:
- 在第1行看看有没第2,3行一半点数的牌,有则可以直接换
- 在第1行中,算出相差的点数,在第2,3行中寻找差值为此一半的两张牌。
6张以上一般都有30s,加上黄条的话绰绰有余,所以大家也不用太急。