Submission details
Task:Spin-Pop-Squeeze-Clap
Sender:aalto25c_008
Submission time:2025-09-17 16:58:21 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#30.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#60.08 sdetails
#70.05 sdetails
#80.07 sdetails
#90.06 sdetails
#100.05 sdetails
#110.06 sdetails
#120.06 sdetails
#130.07 sdetails
#140.05 sdetails
#150.05 sdetails
#160.07 sdetails
#170.06 sdetails
#180.05 sdetails
#190.05 sdetails
#200.05 sdetails
#210.05 sdetails
#220.06 sdetails
#230.06 sdetails
#240.06 sdetails
#250.07 sdetails
#260.08 sdetails
#270.05 sdetails
#280.08 sdetails
#290.08 sdetails
#300.07 sdetails
#310.07 sdetails
#320.06 sdetails
#330.08 sdetails
#340.05 sdetails
#350.06 sdetails

Code

# A Naive recursive implementation of LCS problem
def solve(word1, word2):
    cache = [[float('inf')] * (len(word2) + 1) for i in range(len(word1) + 1)]

    #base cases. in the 2D matrix (bottoms and WHOLE sides)
    for j in range(len(word2) + 1):
        cache[len(word1)][j] = len(word2) - j
    for i in range(len(word1) + 1):
        cache[i][len(word2)] = len(word1) - i
    
    #bottom up dp approach
    for i in range(len(word1) - 1, -1, -1):
        for j in range(len(word2) -1, -1, -1):
            if word1[i] == word2[j]:
                cache[i][j] = cache[i+1][j+1]
            else:
                #insert, delete, replace, clap ?
                cache[i][j] = 1 + min(cache[i+1][j], cache[i][j+1], cache[i+1][j+1],
                                      3)
    return cache[0][0]

word1 = input()
word2 = input()

print(solve(word1, word2))

Test details

Test 1

Verdict: ACCEPTED

input
111222
283303

correct output
4

user output
4

Test 2

Verdict: ACCEPTED

input
123123
54545

correct output
4

user output
4

Test 3

Verdict:

input
111
222

correct output
1

user output
3

Test 4

Verdict: ACCEPTED

input
999
999

correct output
0

user output
0

Test 5

Verdict: ACCEPTED

input
450
57

correct output
2

user output
2

Test 6

Verdict:

input
660487647593824219489241157815...

correct output
674

user output
4

Test 7

Verdict:

input
914177763170669074391500080636...

correct output
130

user output
4

Test 8

Verdict:

input
011524493909266858784005756682...

correct output
681

user output
4

Test 9

Verdict:

input
982597919074833788762328601290...

correct output
717

user output
4

Test 10

Verdict:

input
416721106840388542143044324451...

correct output
215

user output
4

Test 11

Verdict:

input
458073021573681930364262129972...

correct output
473

user output
4

Test 12

Verdict:

input
917400297550473688139849165156...

correct output
699

user output
4

Test 13

Verdict:

input
260181590830166131860913909960...

correct output
584

user output
4

Test 14

Verdict:

input
562301238360777679361730486761...

correct output
284

user output
4

Test 15

Verdict:

input
954220587915890627622301289161...

correct output
416

user output
4

Test 16

Verdict:

input
067903774208751350629566447245...

correct output
442

user output
4

Test 17

Verdict:

input
877893287921742180967929081003...

correct output
358

user output
4

Test 18

Verdict:

input
485260574793809275253093185610...

correct output
442

user output
4

Test 19

Verdict:

input
423232218340629042147624537896...

correct output
192

user output
4

Test 20

Verdict:

input
983444174766143554582284201195...

correct output
83

user output
4

Test 21

Verdict:

input
308023002531575464533553486397...

correct output
984

user output
4

Test 22

Verdict:

input
774637064330445294039402907794...

correct output
544

user output
4

Test 23

Verdict:

input
645428410366485628023288358114...

correct output
378

user output
4

Test 24

Verdict:

input
175337727474341582323359837344...

correct output
695

user output
4

Test 25

Verdict:

input
081836584929414654154099313187...

correct output
493

user output
4

Test 26

Verdict:

input
241592066112579763355561876139...

correct output
630

user output
4

Test 27

Verdict:

input
664737828830059612330669705871...

correct output
559

user output
4

Test 28

Verdict:

input
230972151340592860909446321989...

correct output
696

user output
4

Test 29

Verdict:

input
410946685234703970117608650309...

correct output
691

user output
4

Test 30

Verdict:

input
692323212407710827747149254185...

correct output
536

user output
4

Test 31

Verdict:

input
034704049619193895285878119956...

correct output
467

user output
4

Test 32

Verdict:

input
336980270982636303223976539004...

correct output
543

user output
4

Test 33

Verdict:

input
744311485456233719196607507429...

correct output
570

user output
4

Test 34

Verdict:

input
289232763326229330631165228849...

correct output
563

user output
4

Test 35

Verdict:

input
159941856600173517598637236698...

correct output
431

user output
4