CF1191B Tokitsukaze and Mahjong

题目描述

Tokitsukaze 正在玩一种源自日本麻将的游戏。在这个游戏中,她手中有三张牌。她拥有的每张牌都是花色牌,也就是说每张牌都有一个花色(万、筒或索)和一个数字(一个从 $1$ 到 $9$ 的数字)。在本题中,我们用一个数字和一个小写字母(花色的首字母)来表示一张花色牌。所有可能的花色牌表示为 1m、2m、$\ldots$、9m,1p、2p、$\ldots$、9p,1s、2s、$\ldots$、9s。 为了赢得游戏,她的手牌中必须至少有一个面子(定义见下文),因此有时她需要再摸一些花色牌。每摸一张牌,她的手牌数量就会增加一张。她可以摸任何她想要的牌,包括已经在她手中的牌。 你知道她至少还需要再摸多少张花色牌才能获胜吗? 以下是本游戏中的一些有用定义: - 一个面子(mentsu,也称为“meld”)可以由刻子(koutsu)或顺子(shuntsu)组成; - 刻子(koutsu,也称为“triplet”)是由三张完全相同的牌组成的,例如 $[1m, 1m, 1m]$,但 $[1m, 1p, 1s]$ 或 $[1m, 4m, 7m]$ 不是刻子; - 顺子(shuntsu,也称为“sequence”)是由同一花色、数字连续的三张牌组成的,例如 $[1m, 2m, 3m]$ 和 $[5s, 7s, 6s]$,但 $[9m, 1m, 2m]$ 或 $[1m, 2p, 3s]$ 不是顺子。 一些例子: - $[2m, 3p, 2s, 4m, 1s, 2s, 4s]$ —— 不包含刻子或顺子,因此没有面子; - $[4s, 3m, 3p, 4s, 5p, 4s, 5p]$ —— 包含一个刻子 $[4s, 4s, 4s]$,但没有顺子,因此有一个面子; - $[5p, 5s, 9m, 4p, 1s, 7p, 7m, 6p]$ —— 没有刻子,但有一个顺子 $[5p, 4p, 6p]$ 或 $[5p, 7p, 6p]$,因此有一个面子。 注意,牌的顺序无关紧要,并且你可以假设她可以无限次摸到任意种类的花色牌。

输入格式

一行,包含三个字符串,表示 Tokitsukaze 手中的三张牌。每个字符串的第一个字符是 $1$ 到 $9$ 的数字,第二个字符是 m、p 或 s。

输出格式

输出一个整数,表示她至少还需要再摸多少张花色牌。

说明/提示

在第一个样例中,Tokitsukaze 已经有一个顺子。 在第二个样例中,Tokitsukaze 已经有一个刻子。 在第三个样例中,Tokitsukaze 只需再摸一张花色牌(1p 或 4p)即可组成顺子。此时手牌为 $[3p, 9m, 2p, 1p]$ 或 $[3p, 9m, 2p, 4p]$。 由 ChatGPT 4.1 翻译