SP7102 DTWW - Doing The Word Wrap
题目描述
你正在为网页浏览器开发一个称为文本框的可视化组件,其主要功能是用一行或多行来显示给定的文本。每个文本框都有一个宽度 $W$,即单行能容纳的最大字符数。需要显示的文本由多个单词组成。文本框需要在不拆分任何单词的情况下,将文本显示为宽度为 $W$ 的行,并保证每行中相邻单词之间有一个空格分隔。每行末尾可以留有任意数量的空格。因此,文本框的行为是:依次向一行中添加单词,直到无法再添加下一个单词时,开始新的一行。
随着网页上显示信息量的增加,你需要实现一个智能文本框,使其在处理非常长的文本时,也能尽量减少空间占用。给定一段需要显示的文本和行数 $L$,你需要为文本框设置最小可能的宽度 $W$,以便文本最多使用 $L$ 行。
输入格式
输入包含多个测试用例,每个测试用例由两行组成。第一行包含两个整数 $L$ 和 $N$,中间用空格隔开,其中 $L$ 是文本框最多能够显示的行数($1 \leq L \leq 10^4$),$N$ 是文本中的单词数量($1 \leq N \leq 10^4$)。第二行包含 $N$ 个由小写字母组成的非空单词,单词间用任意数量的空格分隔。输入的最后一行是两个 −1,中间用空格隔开,这一行不应被处理为测试用例。
输出格式
对于每个测试用例,输出一个整数 $W$,表示文本框最多使用 $L$ 行所需的最小宽度。
**本翻译由 AI 自动生成**