一排共有 N 只史莱姆,从左到右编号 1, 2, \dots, N。第 i 只史莱姆的颜色由长度 N 的字符串 S 的第 i 个字符给出,小写字母表示不同的颜色。
现在反复进行下面这个操作,直到**再也无法操作**为止:
- 选择左右相邻且**颜色相同**的两只史莱姆,把它们融合成一只史莱姆;融合后的史莱姆保持原来的颜色。
例如 `aab` 中,先把左边两只 `a` 融合,得到 `ab`,此时没有相邻同色对,操作结束。
问最后还剩多少只史莱姆。可以证明:无论以什么顺序进行选择,最后剩下的只数都相同。
N
S
一个整数,表示最后剩下的史莱姆只数,末尾换行。
10 aabbbbaaca
5
20 xxzaffeeeeddfkkkkllq
10
- 1 \le N \le 10^5
- S 由 N 个小写字母(`a`~`z`)组成
| t1 | 10 | N \le 10,S 只用 2 种字母 |
| t2 | 20 | N \le 300,S 只用 3 种字母 |
| t3 | 30 | N \le 5000,S 只用 5 种字母 |
| t4 | 40 | N \le 10^5,S 最多 26 种字母 |
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |