#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