#3599. wrap
wrap
折行
时间限制:
空间限制:
题目描述
车站的信息屏需要依次显示一组提示词。屏幕的每一行恰好有 个字符格,排版程序会按照输入顺序放置 个只含小写英文字母的单词。
排版规则如下:
- 单词不能拆到两行中;
- 一行中的第一个单词从该行第一个字符格开始;
- 同一行内相邻两个单词之间恰好留一个空格;
- 处理一个新单词时,若它连同前面的一个空格可以完整放入当前行,就把它放在当前行;否则放弃当前行剩余的字符格,从下一行开头放置这个单词。
保证每个单词自身都能放入一行。
所有单词排完后,没有被字母或单词间空格占用的字符格称为未使用字符格。最后一行末尾的空格也要计入。
请你求排版一共使用了多少行,以及所有行中未使用字符格的总数。
输入格式
第一行两个正整数 ,分别表示单词数量和每行字符格数。
第二行依次给出 个仅含小写英文字母的单词。
输出格式
输出一行两个整数,依次表示使用的行数和未使用字符格总数。
输入样例 1
6 10
red blue green gold a map
输出样例 1
3 7
样例 1 解释
三行内容依次为:
red blue
green gold
a map
三行分别剩余 个字符格,共剩余 个。
输入样例 2
5 5
a bb cc ddddd e
输出样例 2
4 8
输入样例 3
见附件 sample/wrap3.in
输出样例 3
见附件 sample/wrap3.out
数据范围
对于所有测试点,保证:
- ;
- ;
- 每个单词只含小写英文字母,长度在 内;
- 所有单词的长度之和不超过 。
| 测试点编号 | 分值 | 特殊性质 |
|---|---|---|
| , | ||
| 所有单词长度均为 | ||
| 所有单词长度均大于 | ||
| 无 |
每个测试点单独计分。