UVA287 Text Comparsion

题目描述

编写一个比较两个文本的程序。这两个文本被认为是同一文本的不同版本。两个版本之间的文本可能会发生三种不同的情况: - 可以删除文本 - 可以插入文本。文本可以更改 - 可以改变文本 这三者的任何组合都可以同时发生。例如,移动将被视为一个地方的删除和另一个地方的插入。你应该列出从旧版本到新版本发生的所有更改。

输入格式

输入文件包含几组数据,每个组据包含两行 $teat1$ 和 $text2$ 字符串。它们包含要比较的文本的两个版本。字符串应该认为 $text2$ 是较老的版本, 并将 $text1$ 作为较新的字符串。

输出格式

对于每组测试数据,输出文件包含两个版本之间文本发生的所有删除、插入和更改,格式如下: ·删除:删除的第一个字符的位置、“已删除”一词和字符数 -删除的文本和已删除的文本。 - 插入:插入的文本的第一个字符的位置、自上次版本以来的“插入”一词、插入的字符数和插入的文本。 - 更改:更改的第一个字符的位置、“更改”一词、更改的字符数、原始文本及其更改的内容。 第一个字符的位置总是指旧版本中的位置(即teat2中的位置)。文件中的第一个字符编号为零($0$)。该程序不应区分大小写。 有关详细信息,请参阅下面的示例。打印空行在每个测试用例输出之后。 注意:输入文件中不包括位置字符的数字和行的标题。