A12692 | Tokitsukaze and Mahjong
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Tokitsukaze is playing a game derivated from Japanese mahjong. In this game, she has three tiles in her hand. Each tile she owns is a suited tile, which means it has a suit (manzu, pinzu or souzu) and a number (a digit ranged from $1$ to $9$ ). In this problem, we use one digit and one lowercase letter, which is the first character of the suit, to represent a suited tile. All possible suited tiles are represented as 1m, 2m, $\ldots$ , 9m, 1p, 2p, $\ldots$ , 9p, 1s, 2s, $\ldots$ , 9s.
In order to win the game, she must have at least one mentsu (described below) in her hand, so sometimes she should draw extra suited tiles. After drawing a tile, the number of her tiles increases by one. She can draw any tiles she wants, including those already in her hand.
Do you know the minimum number of extra suited tiles she needs to draw so that she can win?
Here are some useful definitions in this game:
- A mentsu, also known as meld, is formed by a koutsu or a shuntsu;
- A koutsu, also known as triplet, is made of three identical tiles, such as \[1m, 1m, 1m\], however, \[1m, 1p, 1s\] or \[1m, 4m, 7m\] is NOT a koutsu;
- A shuntsu, also known as sequence, is made of three sequential numbered tiles in the same suit, such as \[1m, 2m, 3m\] and \[5s, 7s, 6s\], however, \[9m, 1m, 2m\] or \[1m, 2p, 3s\] is NOT a shuntsu.
Some examples:
- \[2m, 3p, 2s, 4m, 1s, 2s, 4s\] — it contains no koutsu or shuntsu, so it includes no mentsu;
- \[4s, 3m, 3p, 4s, 5p, 4s, 5p\] — it contains a koutsu, \[4s, 4s, 4s\], but no shuntsu, so it includes a mentsu;
- \[5p, 5s, 9m, 4p, 1s, 7p, 7m, 6p\] — it contains no koutsu but a shuntsu, \[5p, 4p, 6p\] or \[5p, 7p, 6p\], so it includes a mentsu.
Note that the order of tiles is unnecessary and you can assume the number of each type of suited tiles she can draw is infinite.
In order to win the game, she must have at least one mentsu (described below) in her hand, so sometimes she should draw extra suited tiles. After drawing a tile, the number of her tiles increases by one. She can draw any tiles she wants, including those already in her hand.
Do you know the minimum number of extra suited tiles she needs to draw so that she can win?
Here are some useful definitions in this game:
- A mentsu, also known as meld, is formed by a koutsu or a shuntsu;
- A koutsu, also known as triplet, is made of three identical tiles, such as \[1m, 1m, 1m\], however, \[1m, 1p, 1s\] or \[1m, 4m, 7m\] is NOT a koutsu;
- A shuntsu, also known as sequence, is made of three sequential numbered tiles in the same suit, such as \[1m, 2m, 3m\] and \[5s, 7s, 6s\], however, \[9m, 1m, 2m\] or \[1m, 2p, 3s\] is NOT a shuntsu.
Some examples:
- \[2m, 3p, 2s, 4m, 1s, 2s, 4s\] — it contains no koutsu or shuntsu, so it includes no mentsu;
- \[4s, 3m, 3p, 4s, 5p, 4s, 5p\] — it contains a koutsu, \[4s, 4s, 4s\], but no shuntsu, so it includes a mentsu;
- \[5p, 5s, 9m, 4p, 1s, 7p, 7m, 6p\] — it contains no koutsu but a shuntsu, \[5p, 4p, 6p\] or \[5p, 7p, 6p\], so it includes a mentsu.
Note that the order of tiles is unnecessary and you can assume the number of each type of suited tiles she can draw is infinite.
输入格式
The only line contains three strings — the tiles in Tokitsukaze's hand. For each string, the first character is a digit ranged from $1$ to $9$ and the second character is m, p or s.
输出格式
Print a single integer — the minimum number of extra suited tiles she needs to draw.
输入输出样例
输入 #1
1s 2s 3s
输出 #1
0
输入 #2
9m 9m 9m
输出 #2
0
输入 #3
3p 9m 2p
输出 #3
1
In the first example, Tokitsukaze already has a shuntsu.
In the second example, Tokitsukaze already has a koutsu.
In the third example, Tokitsukaze can get a shuntsu by drawing one suited tile — 1p or 4p. The resulting tiles will be \[3p, 9m, 2p, 1p\] or \[3p, 9m, 2p, 4p\].
In the second example, Tokitsukaze already has a koutsu.
In the third example, Tokitsukaze can get a shuntsu by drawing one suited tile — 1p or 4p. The resulting tiles will be \[3p, 9m, 2p, 1p\] or \[3p, 9m, 2p, 4p\].
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted