#XMOJ11791. 星星面包店
星星面包店
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:bakery.in 输出文件:bakery.out
小明和佳佳在太空站开了一家「星星面包店」,银河系各地的顾客每天都通过星际通讯器发来订单。订单上写着一串由食材代号和魔法香料符号组成的文字——食材代号是连续的小写字母,魔法香料符号是逗号(,)、句号(.)、感叹号(!)和问号(?)。
问题是:星际讯号传输过程中,空格经常被弄乱——有时太多,有时太少,有时干脆跑错了位置!小明收到的订单常常像一团浆糊,根本分不清哪里是食材、哪里是香料。
整理规则:
- 如果两个食材单词之间没有魔法香料符号,它们之间必须恰好有 一个 空格隔开。
- 魔法香料符号前面不能有空格——香料要紧紧跟在食材后面!
- 魔法香料符号后面必须恰好有一个空格——方便区分下一个食材。
保证任意两个魔法香料符号之间至少有一个食材单词,且订单始终以食材字母开头、以食材字母结尾。请你帮小明和佳佳写个程序,把乱糟糟的订单整理得漂漂亮亮!
输入格式
输入一行,一个非空字符串 $s$,只包含小写字母、空格和四种魔法香料符号(,.!?)。
字符串长度不超过 $10000$。
输出格式
输出一行,为按照规则整理好的字符串。注意:行末不能有多余空格。
样例
样例 1
milkbread butter egg ,sugar,flour
milkbread butter egg, sugar, flour
样例说明:
原始订单中,单词之间有多余空格,且逗号前后的空格位置不对。整理后:多余空格被合并为单个空格,逗号前的空格被删除,逗号后补上一个空格。
样例 2
moon cake star dust
moon cake star dust
样例说明:
这份订单没有魔法香料符号,只是空格多到离谱。整理后,所有连续空格合并为一个。
样例 3
sun,yummy!mooncake.pizza?yes
sun, yummy! mooncake. pizza? yes
样例说明:
这份订单所有单词和香料挤在了一起。整理后,每个香料符号后面都补上了一个空格。
数据范围
令 $|s|$ 表示输入字符串 $s$ 的长度,有:
$1 \le |s| \le 10000$
字符串保证以字母开头和结尾,且任意两个标点符号之间至少有一个字母。
相关
在下列比赛中: