AT_abc284_f [ABC284F] ABCBAC
题目描述
给定一个长度为 $N$ 的字符串 $S$ 和一个整数 $i\ (0\leq i\leq N)$,定义 $f_i(S)$ 为:
- $S$ 的前 $i$ 个字符,
- $S$ 的反转字符串,
- $S$ 的后 $N-i$ 个字符,
按此顺序连接得到的字符串。例如,当 $S=$ `abc`,$i=2$ 时,$f_i(S)=$ `abcbac`。
现在给定一个长度为 $2N$ 的字符串 $T$。请找出一个长度为 $N$ 的字符串 $S$ 和一个整数 $i\ (0\leq i\leq N)$,使得 $f_i(S)=T$。如果不存在这样的 $S,i$ 组合,请报告。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $T$
输出格式
如果不存在满足条件的 $S,i$ 组合,则输出 `-1`。如果存在,则输出 $S$ 和 $i$,用换行分隔。如果有多个满足条件的 $S,i$ 组合,输出其中任意一个即可。
说明/提示
### 限制
- $1\leq N \leq 10^6$
- $N$ 是整数
- $T$ 是由小写英文字母组成的长度为 $2N$ 的字符串
### 样例解释 1
如题目所述,当 $S=$ `abc`,$i=2$ 时,$f_i(S)=$ `abcbac`,与 $T$ 一致,因此输出 `abc` 和 $2$。
### 样例解释 2
当 $S=$ `abab`,$i=3$ 也满足条件。
### 样例解释 3
当 $S=$ `agc`,$i=3$ 也满足条件。
### 样例解释 4
如果不存在满足条件的 $S,i$ 组合,则输出 `-1`。
由 ChatGPT 4.1 翻译