CF612A The Text Splitting

题目描述

给定一个长度为 $n$ 的字符串 $s$ 和两个正整数 $p, q$。请将字符串 $s$ 分割成若干段,每段的长度只能为 $p$ 或 $q$。 例如,字符串 "Hello" 当 $p=2$,$q=3$ 时,可以分割成两段 "Hel" 和 "lo",也可以分割成 "He" 和 "llo"。 注意,也允许只用长度为 $p$ 的段或者只用长度为 $q$ 的段来分割字符串 $s$(见第二个样例)。

输入格式

第一行包含三个正整数 $n,p,q$($1 \leq p,q \leq n \leq 100$)。 第二行包含一个长度为 $n$ 的字符串 $s$,字符串仅由大小写英文字母和数字组成。

输出格式

如果无法将字符串 $s$ 分割成若干个长度为 $p$ 或 $q$ 的段,则输出一行 "-1"。 否则,第一行输出一个整数 $k$,表示分割出来的字符串个数。 接下来的 $k$ 行,每行输出按顺序出现的分割后的字符串,每个字符串长度为 $p$ 或 $q$。 如果有多种分割方法,输出任意一种即可。

说明/提示

由 ChatGPT 5 翻译