将给定的文字按电影《星球大战》(注:Star Wars) 开场字幕的格式输出,如下例:
输入:
5 21
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
输出:
Lorem ipsum dolor sit
amet, consectetur
adipiscing elit, sed do
eiusmod tempor
incididunt ut labore et
dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation
ullamco laboris nisi ut
aliquip ex ea commodo
consequat.
规则如下:
每组输入数据的第一行由两个数字组成,这两个数字间用一个空格隔开。第一个数字I表示缩进的初值,第二个数字W表示行宽的初值。
自第二行以下每行代表一段文字。
每段文字在输出中都应分割为居中显示的若干行,具体分割规则是:
第一行先缩进I个空格,接下来按顺序输出这段文字中的若干个单词,输出的单词(单词后的标点应视作单词的一部分)应该尽可能多,但总长度(包括单词间的空格)不超过W,亦即只能在空格处换行。
若需要输出的字符不足W个,则在词语间尽可能均匀地插入空格以使宽度达到W,若空格无法均匀分布,即需要插入的空格数s无法被间隔数g整除时,将s%g个数量的空格再从左侧起均匀插入。
例如“May the Force be with you!”包含6个词语共26个字符,词语间有5个间隔,当$W=33$时需要插入7个空格,而$7=5\times 1+2$。
因此先在每个间隔中插入1个空格,再在最左侧的两个间隔中各插入1个空格,最后需要插入的空格数是2,2,1,1,1,输出是
May the Force be with you!
每行都按上述规则输出,但每输出两行,就将I减少1并将W增加2。最后一行输出无论字符数量多少都不在词语间插入空格(但仍需缩进),段落之间用一个空行隔开,这一空行也计入在I和W的变化规则中。
两组输入数据之间也应用一个空行隔开。
|