#P1488. TEX Quotes
TEX Quotes
题目描述:
TEX 是一种由 Donald Knuth 开发的排版语言。它接收源文本和一些排版指令,并生成一份美观的文档。美观的文档使用方向性双引号(左双引号 和右双引号 '')来标记引语,而不是大多数键盘提供的普通双引号 "。键盘通常没有方向性双引号,但有左单引号 和右单引号 `'`。请检查你的键盘,找到左单引号键(有时称为“反引号键”)和右单引号键 '(有时称为“撇号”或“引号”)。注意不要将左单引号 ``` 与反斜杠键 \ 混淆。TEX 允许用户输入两个左单引号 `````` 来生成左双引号,输入两个右单引号 '' 来生成右双引号。然而,大多数打字员习惯使用无方向性的双引号 " 来标记引语。
如果源文本包含:
"To be or not to be," quoth the bard, "that is the question."
那么 TEX 生成的排版文档将不会显示为期望的形式:
“To be or not to be,” quoth the bard, “that is the question.”
为了生成期望的形式,源文件必须包含以下序列:
``To be or not to be,'' quoth the bard, ``that is the question.''
你需要编写一个程序,将包含双引号(")的文本转换为与输入相同但双引号被替换为 TEX 所需的两字符序列(方向性双引号)的文本。双引号(")应被适当替换为:
- 如果
"开启引语,则替换为; - 如果
"关闭引语,则替换为''。
注意,嵌套引语的问题不会出现:第一个"必须替换为,第二个替换为'',第三个替换为,第四个替换为'',依此类推。
输入:
输入包含多行文本,其中双引号(")的数量为偶数。输入以文件结束符(EOF)终止。
输出:
输出的文本必须与输入完全相同,除了:
- 每对
"中的第一个"替换为两个 ``` 字符:; - 每对
"中的第二个"替换为两个'字符:''。
示例输入 1:
"To be or not to be," quoth the Bard, "that
is the question".
The programming contestant replied: "I must disagree.
To `C' or not to `C', that is The Question!"
示例输出 1:
``To be or not to be,'' quoth the Bard, ``that
is the question''.
The programming contestant replied: ``I must disagree.
To `C' or not to `C', that is The Question!''
来源:
East Central North America 1994