5092.Sasha and One More Name

传统题 时间 1000 ms 内存 256 MiB 尝试 0 已通过 0 标签

Sasha and One More Name

CF1109B · Sasha and One More Name

中文题意

给定一个回文串 ss。你需要将它切割 kk 次,得到 k+1k+1 个子串(每一段都是原串的连续子串),然后把这些段重新排列拼接成一个新字符串。段不能翻转,只能改变顺序。

例如对字符串 f|de|abc|g 进行 33 次切割后,交换 f 与 abc 两段可以得到 abcdefg;但用同样的切割无法得到 cbadefg。

求最小的 kk,使得切成 k+1k+1 段并重新拼接后,能得到一个与原串 ss 不同的回文串。若无解,输出 Impossible(不含引号)。

输入格式(中文)

第一行一个字符串 ss1s50001 \le |s| \le 5\,000),仅由小写拉丁字母组成。保证 ss 是回文串。

输出格式(中文)

输出一个整数 kk,表示得到新名字所需的最少切割次数;若无解,输出 Impossible(不含引号,区分大小写)。

样例

样例 1

输入:

nolon

输出:

2

样例 2

输入:

otto

输出:

1

样例 3

输入:

qqqq

输出:

Impossible

样例 4

输入:

kinnikkinnik

输出:

1

在线编程 IDE

建议全屏模式获得最佳体验