#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