| Task: | Edit distance |
| Sender: | Wu xiaobo |
| Submission time: | 2020-09-12 13:43:58 +0300 |
| Language: | Python3 (CPython3) |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | details |
| #2 | ACCEPTED | 0.02 s | details |
| #3 | ACCEPTED | 0.03 s | details |
| #4 | ACCEPTED | 0.02 s | details |
| #5 | ACCEPTED | 0.02 s | details |
| #6 | TIME LIMIT EXCEEDED | -- | details |
| #7 | TIME LIMIT EXCEEDED | -- | details |
| #8 | TIME LIMIT EXCEEDED | -- | details |
| #9 | TIME LIMIT EXCEEDED | -- | details |
| #10 | TIME LIMIT EXCEEDED | -- | details |
| #11 | ACCEPTED | 0.02 s | details |
| #12 | ACCEPTED | 0.02 s | details |
| #13 | ACCEPTED | 0.02 s | details |
| #14 | ACCEPTED | 0.02 s | details |
| #15 | ACCEPTED | 0.03 s | details |
| #16 | TIME LIMIT EXCEEDED | -- | details |
| #17 | ACCEPTED | 0.03 s | details |
| #18 | TIME LIMIT EXCEEDED | -- | details |
| #19 | ACCEPTED | 0.03 s | details |
Code
word1 = input()
word2 = input()
n = len(word1)
m = len(word2)
if n * m == 0:
print(n + m)
dp = [[0] * (m + 1) for _ in range(n + 1)]
for i in range(n + 1):
dp[i][0] = i
for j in range(m + 1):
dp[0][j] = j
for i in range(1, n + 1):
for j in range(1, m + 1):
left = dp[i - 1][j] + 1
down = dp[i][j - 1] + 1
left_down = dp[i - 1][j - 1]
if word1[i - 1] != word2[j - 1]:
left_down += 1
dp[i][j] = min(left, down, left_down)
print(dp[n][m])
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| NEABJPJOI RFMQRJKJKIA |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| TWXFUABGBNLTBFNSUVQW GPNJILFXJUIZPLTVUIB |
| correct output |
|---|
| 19 |
| user output |
|---|
| 19 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| HSMOWJXKGRWSMD JMRTLLNPXKKXZC |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| NGPYCNPO UQPXWVLGHC |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| SQTCKWAMFJEBV IUWGGNJOMQFP |
| correct output |
|---|
| 13 |
| user output |
|---|
| 13 |
Test 6
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| VDREWLLHMEVGFGBXJJOSSLHNJBOTRK... |
| correct output |
|---|
| 4047 |
| user output |
|---|
| (empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| EIIUUQXSAFMTRSEZSFYNSAGHUWTSGY... |
| correct output |
|---|
| 3769 |
| user output |
|---|
| (empty) |
Test 8
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| HVOXUVAZYFBKEWQXVGJMYXCCXBWRNW... |
| correct output |
|---|
| 3806 |
| user output |
|---|
| (empty) |
Test 9
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| AWGASQANDZQTVKXQDKWNADQDBXKCOK... |
| correct output |
|---|
| 4069 |
| user output |
|---|
| (empty) |
Test 10
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| WXAAJJALZRLGLSXDPUPURULYINBFGX... |
| correct output |
|---|
| 3874 |
| user output |
|---|
| (empty) |
Test 11
Verdict: ACCEPTED
| input |
|---|
| A A |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| A B |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| AA A |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| A AA |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| 5000 |
| user output |
|---|
| 5000 |
Test 16
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 17
Verdict: ACCEPTED
| input |
|---|
| B AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| 5000 |
| user output |
|---|
| 5000 |
Test 18
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| 5000 |
| user output |
|---|
| (empty) |
Test 19
Verdict: ACCEPTED
| input |
|---|
| KITTEN SITTING |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
