#5162. 复原字符串

复原字符串

复原字符串

题目描述

童童是一个考古爱好者,在去 E 国旅游的时候,在一个古老的城堡中发现了一串字符,这串字符有些字母已经看不太清楚了。童童猜测这串字符有可能是一个回文串。回文串的定义:就是一个从左到右读、从右到左读都一样的字符串。比如 "ABCBA"、"ABBA"、"AXA" 都是回文串,而 "ABCD"、"ABDBDA" 则不是回文串。

童童希望学编程的你能够帮助他编程实现:如果确定不是一个回文串或者不能复原成一个唯一的回文串,就输出 "IMPOSSIBLE"。反之能够确定复原成一个唯一的回文串,就输出这个回文串。例如:ABA00 可以复原成一个唯一的回文串 ABABA。ABC0CDD,这根本不可能是一个回文串,因此就输出 "IMPOSSIBLE"。

输入格式

输入共 2 行。

第 1 行包含一个正整数 nn,代表童童看到的字符串的长度。

第 2 行包含一个字符串,仅由大写字母和 0 组成,0 表示童童看不清的字母。

输出格式

输出仅一行,如果能够确定复原成唯一的回文串,就输出还原后的回文串,否则输出 IMPOSSIBLE

样例输入 #1

5
AB0BA

样例输出 #1

IMPOSSIBLE

样例输入 #2

6
BB0A00

样例输出 #2

BBAABB

样例输入 #3

6
BB00AA

样例输出 #3

IMPOSSIBLE

数据范围

对于 30%30\% 的数据,输入中不存在 0

对于 100%100\% 的数据,n105n \le 10^5

样例说明

对于样例 1,中间是 0,那么不能确定是一个唯一的回文串,确认不了中间的 0 能够还原成唯一的一个字符。

对于样例 2,可以复原成唯一的一个回文串。

知识点与难度

本题涉及的知识点从属于 GESP 三级(字符串处理),难度等级:⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 100 1 样例