#YS2T3. 单词排版

单词排版

题目描述:

马上就要期中考试了,小奥准备好好复习一下,小奥用 word 文档将整个月英语课堂上学习的所有单词都整理了出来,在整理过程中,小奥发现如果每个单词占一行的话,整个文档会很长,如果一行多个单词的话,那每一行又不能完全的左右两端对齐。小童想请你帮忙编写一个程序,按照如下格式将给定的 所有单词进行排列:所有单词将以字符串形式给出,单词与单词之间用空格作为间隔。需要对单词按照给定顺序重新排版,保证每行字符数量刚好为maxwidth个,并且左右对齐。一行的单词数量要尽可能的多,且单词与单词之间至少有一个空格,必要时单词与单词之间可以用多个空格。 要求每一行的单词与单词之间的空格尽可能的分配均匀,比如某一行有 3个单词同时需要 6个空格,那么为了保证左右对齐,且空格分配均匀,三个单词中间有两个空,每个空3个空格即可。如果某一行只能放一个单词,同时需要多个空格,直接放到该单词的后面即可。文本最后一行需要按照左对齐的方式,即单词与单词之间只有一个空格,剩余空格接在最后一个单词的后面。

输入格式:

两行,第一行包含多个单词的字符串,单词与单词之间用空格隔开。第二行为每行最多字符个数maxwidth.

输出格式:

样例:

按照题目要求重新排版后的单词序列。

this is an example of text justification
16
this    is    an
example  of test
justification

提示

字符串长度不超过300,且不为空。 0 < maxwidth <= 100 每个单词长度不超过20,且均小于maxwidth