CF56D.Changing a String

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a string ss , consisting of capital Latin letters. Let's denote its current length as s|s| . During one move it is allowed to apply one of the following operations to it:

  • INSERT pospos chch — insert a letter chch in the string ss in the position pospos ( 1<=pos<=s+1,A<=ch<=Z1<=pos<=|s|+1,A<=ch<=Z ). The letter chch becomes the pospos -th symbol of the string ss , at that the letters shift aside and the length of the string increases by 1.
  • DELETE pospos — delete a character number pospos ( 1<=pos<=s1<=pos<=|s| ) from the string ss . At that the letters shift together and the length of the string decreases by 1.
  • REPLACE pospos chch — the letter in the position pospos of the line ss is replaced by chch ( 1<=pos<=s,A<=ch<=Z1<=pos<=|s|,A<=ch<=Z ). At that the length of the string does not change.

Your task is to find in which minimal number of moves one can get a tt string from an ss string. You should also find the sequence of actions leading to the required results.

输入格式

The first line contains ss , the second line contains tt . The lines consist only of capital Latin letters, their lengths are positive numbers from 11 to 10001000 .

输出格式

In the first line print the number of moves kk in the given sequence of operations. The number should be the minimal possible one. Then print kk lines containing one operation each. Print the operations in the format, described above. If there are several solutions, print any of them.

输入输出样例

  • 输入#1

    ABA
    ABBBA
    

    输出#1

    2
    INSERT 3 B
    INSERT 4 B
    
  • 输入#2

    ACCEPTED
    WRONGANSWER
    

    输出#2

    10
    REPLACE 1 W
    REPLACE 2 R
    REPLACE 3 O
    REPLACE 4 N
    REPLACE 5 G
    REPLACE 6 A
    INSERT 7 N
    INSERT 8 S
    INSERT 9 W
    REPLACE 11 R
    
首页