#SLT02B. 2026年S组模拟赛10连测第2场-T2 货架标签

2026年S组模拟赛10连测第2场-T2 货架标签

项目 内容
输入文件名 rearr.in
输出文件名 rearr.out
可执行文件名 rearr
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

仓库的一排货架上依次排列着 nn 个货位,每个货位上贴着一张标签,标签上印有一个小写字母。沿货架顺序读出所有标签,得到一个长度为 nn 的字符串 ss。

管理员准备把这 nn 张标签全部揭下并重新张贴。每张标签恰好使用一次,不得新增也不得丢弃。重新张贴后,要求货架上任意相邻两个货位的标签字母不同。

在所有满足要求的张贴方案中,管理员希望最终得到的字符串字典序最小。请你求出这个字符串;若不存在满足要求的张贴方案,输出 -1。

输入格式

从文件 rearr.in 中读入数据。

  • 第一行一个整数 nn,表示货位数量;
  • 第二行一个长度为 nn 的字符串 ss,表示各货位原有的标签字母。

输出格式

输出到文件 rearr.out 中。

输出一行:若存在满足要求的张贴方案,输出字典序最小的那个字符串;否则输出 -1。

样例

5
aaabb
ababa

样例 1 解释

共 55 个货位,三张 a 与两张 b,相邻字母必须不同,因此只能把两种字母交替放置——奇数位均为 a、偶数位均为 b,得到 ababa。

6
aabbcc
abacbc

样例 2 解释

前三位排出 aba 后,剩余 b、c、c 三张标签。第 4 位若填 b,剩下的两张 c 只能放在第 5、6 位且相邻;故第 4 位只此可填 c,第 5、6 位随之依次填 b、c,得到 abacbc。

6
aaaabc
-1

样例 3 解释

串长为 66,其中 a 出现 44 次,而相邻字母不同的一串最多容纳 33 张相同的字母,故无法按要求重新张贴。

数据范围

对于所有测试数据,保证:1≤n≤1051 \le n \le 10^5,ss 由小写字母组成。

各测试点的约束如下:

测试点 nn 特殊性质
1∼41\sim4 ≤10\le 10 无
5∼95\sim9 ≤2000\le 2000
10∼1310\sim13 ≤105\le 10^5 A
14∼2014\sim20 无
  • 特殊性质 A:ss 中只含字母 a 和 b。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3774
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者