经典简约
清爽简洁,回归本真
液态水晶
毛玻璃+霓虹光带
赛博朋克
霓虹故障艺术风
🚫
违规操作检测
禁止使用右键菜单
⚠️ 此操作已被系统记录
1

文件排版 format

📝 题解 🔵 仅限 C++
题目描述
<p> <!--[if gte mso 9]>Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<![endif]-->写电子邮件是有趣的,但不幸的是经常写不好看,主要是因为所有的行不一样长,你的上司想要发排版精美的电子邮件,你的任务是为他编写一个电子邮件排版程序。 </p> <p> <!--[if gte mso 9]><![endif]--><!--[if gte mso 10]> <![endif]--> </p> <p class="MsoNormal"> <span style="font-family:宋体;">完成这个任务最简单的办法是在太短的行中的单词之间插入空格,但这并不是最好的方法,考虑如下例子:</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">This is the example you<span>&nbsp; </span>are</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">actually considering.</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">假设我们想将第二行变得和第一行一样长,靠简单地插入空格则我们将得到如下结果:</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">This is the example you<span>&nbsp; </span>are</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">actually<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>considering.</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">但这太难看了,因为在第二行中有一个非常大的空白,如果将第一行的单词“<span>are</span>”移到下一行我们将得到较好的结果:</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">This<span>&nbsp; </span>is<span>&nbsp; </span>the<span>&nbsp; </span>example<span>&nbsp;&nbsp; </span>you</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">are<span>&nbsp; </span>actually<span>&nbsp;&nbsp; </span>considering.</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">&nbsp;</span><span style="font-family:宋体;">当然,这必须对难看程度进行量化。因此我们必须给出单词之间的空格的难看程度,一个包含<span>N</span>个空格符的空白段,其难看程度值为<span>(n-1)<sup>2</sup></span>,程序的目的是使难看程度的总和最小化。例如,第一个例子的难看程度是<span>1+7*7=50</span>,而第二个例子的难看程度仅为<span>1+1+1+4+1+4=12</span>。</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">输出时,每一行的开头和结尾处都必须是一个单词,即每行开头和结尾处不能有空白。唯一例外的是该行仅有一个单词组成的情况,此时如果该单词比该行应有的长度短则我们指定它的难看程度为<span>500</span>。</span> </p> <p> <br /> </p>
输入格式
<p> <!--[if gte mso 9]>Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<![endif]--><span style="font-family:宋体;">输入文件第一行是一个整数<span>N</span>,表示排版后文章每行要求达到的宽度,<span>1&lt;=N&lt;=80</span>。</span> </p> <p> <span style="font-family:宋体;">后面是给出的一段文章,该段文章由一个或多个单词组成,单词由<span>ASCII</span>码值为<span>33</span>到<span>126</span>(包含<span>33</span>和<span>126</span>)的字符组成,单词与单词之间用空格隔开(可能超过一个)。单词长度不会超过段落要求达到的宽度。一段文字所有单词的总长度不会超过<span>10000</span>个字符,任何一行都不会超过<span>100</span>个字符,任何一个单词都在同一行内。</span> </p> <p> <!--[if gte mso 9]><![endif]--><!--[if gte mso 10]> <![endif]--> </p>
输出格式
<p> <!--[if gte mso 9]>Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<![endif]--><span style="font-family:宋体;">对于每个段落,找出使其难看程度最小的排版形式并输出句子:“<span>Minimal badness is B.</span>”<span>,B</span>是指按可能的最好排版形式会发生的难看程度值。注意排版后文本行数任意,多余的空格也可删除。</span> </p> <p> <!--[if gte mso 9]><![endif]--><!--[if gte mso 10]> <![endif]--> </p>
样例
样例输入 1
28 This is the example you are actually considering.
样例输出 1
Minimal badness is 12.
提交代码
请先登录后提交

🤖 AI 解题助手

DeepSeek
就绪
👋 你好!我是 AI 解题助手。
我已阅读了这道题,可以帮你分析思路、提供代码示例。
⚠️ 请先登录后使用