小慕正在开发一个用于展示项目名称的 滚动看板。看板的宽度有限,但上面的项目名称需要不断循环滚动显示,以供团队成员反复查看。 小慕有一组 基础项目名称,这些名称按照固定顺序排列。为了完成演示,这组名称需要在看板上 。 滚动看板在显示项目名称时必须遵守以下规则: 1. 任意一个项目名称不可被拆分到多行显示; 2. 同一行中相邻的两个项目名称之间必须使用一个空格分隔; 3. 每一行显示的字符总数(包括空格)不得超过看板的最大宽度; 4. 项目名称必须严格按照原始顺序循环显示,不能跳过或重排。 请你计算: 在满足上述规则的前提下,完整显示所有项目名称所需的最少行数。
提示:带虚线的词点一下有通俗解释。
输入描述
* 第一行一个整数 `n`,表示基础咒语的数量 * `1 <= n <= 100` * 第二行包含 `n` 个字符串,表示咒语名称,按顺序给出 * 每个字符串仅包含小写英文字母 * `1 <= spell_i.length <= 10` * 第三行一个整数 `repeatCount`,表示整组咒语需要完整重复显示的次数 * `1 <= repeatCount <= 10000000` * 第四行一个整数 `scrollWidth`,表示魔法卷轴每一行可显示的最大字符数 * `10 <= scrollWidth <= 150`
输出描述
最少需要的行数
示例
示例 1
输入
5 one two three four five 5 15
输出
9
说明:在该示例中,一种使用行数最少的显示方式如下(仅为示意): ``` 1. one two three 2. four five one 3. two three four 4. five one two 5. three four five 6. one two three 7. four five one 8. two three four 9. five ``` 因此,最少需要 `9` 行来完成所有咒语的展示。
时间限制 1000 ms · 内存限制 128 MB