每日一题系列 - Compacting Stickers (ACM竞赛题)

来源:互联网 发布:斗鱼刷礼物软件 编辑:程序博客网 时间:2024/05/31 18:52

 题目选自:http://acm.pku.edu.cn/JudgeOnline/problem?id=1653。


Compacting Stickers

Description
The text on a sticker consists of words formed from small and capital Latin letters. Words are separated by spaces, line breaks, and/or the following punctuation marks: ",", ".", "!", "?".

There may be any number of spaces and empty lines before and after the words, but there is no more than one punctuation mark after each word. Sticker is printed with monospace font, so every character occupies on the paper a rectangular area of fixed size. Sticker itself is a minimal rectangle enclosing the text plus a margin of one character in width.

Many copies of the sticker are to be printed, and to minimize paper consumption the sticker should be made as small in area as possible. Consider, for example, the sticker with the following text:
Our pink elephants have great size and a small price. Buy our elephants!

Printed in one line, this sticker will have an area of (72 + 2) * (1 + 2) = 222 characters. On the other hand, if printed in four lines, like this:

....................
.Our.pink.elephants.
.have.great.size....
.and.a.small.price..
.Buy.our.elephants!.
....................

the sticker will only require (18 + 2) * (4 + 2) = 120 characters.
You objective is, given the text of a sticker, to break it into
lines so as to achieve the smallest possible area for it. Line break
may be inserted after any word or punctuation mark, but not before a
punctuation mark. One space must separate each word from the preceding
word or punctuation on the same line. You do not have to preserve other
spaces or line breaks in the input.



Input
The input contains one or more lines of the sticker text. The first line is an integer indicating the lines to follow. Text contains only the following characters: "A" to "Z", "a" to "z", ",", ".", "!", "?", spaces and line ends. The text length is less or equal than 10000 characters. The text always contains some non-space characters, and the first of them is always a letter.

Output
Output must contain a single integer number - the area of the smallest sticker.


Sample Input

Our     pink

Elephants

have great size and a

   small  price    .

      Buy our elephants !


Sample Output

120



『题解』:

题目的内容请各位自己阅读吧。用python 给出答案。

用原来题目的短文做了一个测试,结果正确。