CF31E TV Game

题目描述

BerTV 有一个新的电视游戏。在这个游戏中,两个玩家会得到一个由 $2n$ 位组成的数字 $A$。在每一轮之前,玩家们会决定下一个由谁行动。每个玩家必须恰好轮流行动 $n$ 次。在自己的回合,第 $i$ 个玩家会取出 $A$ 的最左边一位,将其加到自己的数字 $S_{i}$ 的末尾。之后,这一位将从 $A$ 中删除。初始时,两个玩家的数字($S_{1}$ 和 $S_{2}$)都是“空”的。数字 $A, S_{1}, S_{2}$ 的前导零是允许的。游戏结束后,第一位玩家获得 $S_{1}$ 美元,第二位玩家获得 $S_{2}$ 美元。 有一天,Homer 和 Marge 来玩这个游戏。他们提前知道了数字 $A$。他们想要找到一种分配各自轮次的方式,使两人都恰好行动 $n$ 次,并且让他们获得的奖金之和最大。请帮助他们。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 18$)。 第二行包含一个整数 $A$,它由恰好 $2n$ 位组成。该数字允许有前导零。

输出格式

输出一行 $2n$ 个字符,每个字符为“H”或“M”,表示 Homer 和 Marge 的出手机会顺序,从而获得最大可能的奖金总和。每个玩家必须恰好出手 $n$ 次。如果方案有多种,输出任意一种即可。

说明/提示

由 ChatGPT 5 翻译