传统题 2000ms 512MiB

货架换签

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

【问题描述】

小蓝管理着一排货架,每个货架前都挂着一张标签。每张标签上写着字符 0011,从左到右组成一个长度为 NN 的字符串 SS

小蓝可以进行若干次换签操作,也可以不进行操作。一次换签操作按如下方式进行:

  • 在当前标签序列中选择两个互不重叠的连续片段;
  • 两个连续片段包含的标签数量必须相同;
  • 两个连续片段中写着 11 的标签数量必须相同;
  • 将两个连续片段在原位置互换内容,其余标签保持不变,片段内部标签的相对顺序不变。

例如,在字符串 101001 中,可以选择连续片段 10 和连续片段 01。它们长度均为 22,且都包含一个字符 11,因此可以交换。

对于两个长度相同的字符串,按照通常字典序比较大小,并约定 00 小于 11

现在,请你求出经过任意多次合法换签操作后,小蓝能够得到的字典序最小的字符串。

【输入格式】

第一行包含一个整数 NN,表示字符串长度。

第二行包含一个长度为 NN 的字符串 SS,仅由字符 0011 组成。

【输出格式】

输出一行,包含一个长度为 NN 的字符串,表示能够得到的字典序最小字符串。

测试数据

【样例输入 1】

6
101001

【样例输出 1】

011010

【样例说明 1】

可以选择原字符串第 11 到第 22 个字符组成的片段 10,以及第 55 到第 66 个字符组成的片段 01。这两个片段长度相同,且都包含一个字符 11,将这两个片段交换后,得到 011010

可以证明,在所有可达字符串中,011010 的字典序最小。

【样例输入 2】

5
00000

【样例输出 2】

00000

【样例说明 2】

字符串中没有字符 11,任意合法操作都不会改变字符串。

【样例输入 3】

8
11110000

【样例输出 3】

11110000

【样例说明 3】

原字符串的每个字符 00 左侧都有 44 个字符 11。在合法操作保持约束的前提下,无法得到字典序更小的字符串。

数据分布

【评测用例规模与约定】

对于 3030% 的评测用例,1N101 \le N \le 10

对于 6060% 的评测用例,1N50001 \le N \le 5000

对于所有评测用例,1N2×1051 \le N \le 2 \times 10^5,且 SS 仅由字符 0011 组成。