2759: 校准代码
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:9
解决:6
题目描述
给出一些句子,要求将句子重新排版(增减空格),排版的要求在于:每一行第一个单词的首字母的位置P1=1,第二个单词则位于一个尽可能小的数P2,要求所有句子的第一个单词的末尾的位置都小于或等于P2-2,第三个单词位于一个尽可能小的数P3,要求所有句子的第二个单词末尾的位置都小于或等于P3-2,以此类推……你的任务是找到一种增减空格的方案,使得用到的空格数最少。 给出的句子中,可能包含的字符有:大写和小写的拉丁字母,所有标点符号,以及其它ASCII字符(ASCII码为33~126的字符),空格的ASCII码为32。
输入
输入数据包含有一行或多行,每行给出一个句子,行末以回车作为结束。每行至少有1个单词,每个单词的长度范围为1至80,单词被一个或多个空格隔开,每行开头和结尾都可有空格,保证一个句子的长度不超过180(包括空格),输入数据不超过1000行。
输出
输出排版后的句子,必须满足上述条件。
样例输入 复制
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp
样例输出 复制
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp