#4510. ABCBAC

0

ABCBAC

ABCBAC

题目描述

对于长度为 NN 的字符串 SS 和一个整数 i (0≤i≤N)i\ (0\leq i\leq N),我们将字符串 fi(S)f_i(S) 定义为按如下顺序连接:

S 的前 ii 个字符, S 的反转,和 S 的最后 (N−i)(N-i) 个字符,

例如,如果 S=S= abcabc 且 i=2i=2,则 fi(S)=f_i(S)= abcbacabcbac。 给定长度为 2N2N 的字符串 TT。 找到一对字符串 SS(长度为 NN)和整数 i (0≤i≤N)i\ (0\leq i\leq N),使得 fi(S)=Tf_i(S)=T。 如果不存在这样的 SS 和 ii,请报告该情况。

输入格式

输入从标准输入按如下格式给出: NN TT

输出格式

如果不存在满足条件的一对 SS 和 ii,输出 −1-1。 否则,输出 SS 和 ii,以换行分隔。 如果存在多个满足条件的一对 SS 和 ii,你可以输出其中任意一对。

3
abcbac
abc
2
4
abababab
abab
1
3
agccga
cga
0
4
atcodeer
-1

提示

1≤N≤1061\leq N \leq 10^6 NN 是一个整数。 TT 是一个长度为 2N2N 的由小写英文字母组成的字符串。如题目所述,如果 S=S= abcabc 且 i=2i=2,我们有 fi(S)=f_i(S)= abcbacabcbac,这等于 TT,所以你应该输出 abcabc 和 22。
S=S= abababab 且 i=3i=3 也满足条件。
S=S= agcagc 且 i=3i=3 也满足条件。
如果不存在满足条件的一对 SS 和 ii,输出 −1-1。

标签: AtCoder|abc284F

来源

AtCoder|abc284F