Task: | Edit distance |
Sender: | smolse |
Submission time: | 2016-09-17 15:19:45 +0300 |
Language: | Python3 |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | UNKNOWN | -- | details |
#2 | UNKNOWN | -- | details |
#3 | UNKNOWN | -- | details |
#4 | UNKNOWN | -- | details |
#5 | UNKNOWN | -- | details |
#6 | UNKNOWN | -- | details |
#7 | UNKNOWN | -- | details |
#8 | UNKNOWN | -- | details |
#9 | UNKNOWN | -- | details |
#10 | UNKNOWN | -- | details |
#11 | UNKNOWN | -- | details |
#12 | UNKNOWN | -- | details |
#13 | UNKNOWN | -- | details |
#14 | UNKNOWN | -- | details |
#15 | UNKNOWN | -- | details |
#16 | UNKNOWN | -- | details |
#17 | UNKNOWN | -- | details |
#18 | UNKNOWN | -- | details |
#19 | UNKNOWN | -- | details |
Code
import fileinput def edit_distance(first, second): if first == second: return 0 len_first, len_second = len(first), len(second) cur = list(range(0, len_first + 1)) for i in range(1, len_second+1): prev, cur = cur, [i] + [0]*len_first for j in range(1, len_first+1): a, d, c = prev[j]+1, cur[j-1]+1, prev[j-1] if first[j-1] != second[i-1]: c += 1 cur[j] = min(a, d, c) return cur[len_first] if __name__ == '__main__': with fileinput.input(['-']) as input: string_1 = input.readline().rstrip() string_2 = input.readline().rstrip() d = len(string_1) - len(string_2) if d > 0: string_1 = string_1[:len(string_2)] elif d < 0: string_2 = string_2[:len(string_1)] print(edit_distance(string_1, string_2) + abs(d))
Test details
Test 1
Verdict: UNKNOWN
input |
---|
NEABJPJOI RFMQRJKJKIA |
correct output |
---|
8 |
user output |
---|
(not available) |
Test 2
Verdict: UNKNOWN
input |
---|
TWXFUABGBNLTBFNSUVQW GPNJILFXJUIZPLTVUIB |
correct output |
---|
19 |
user output |
---|
(not available) |
Test 3
Verdict: UNKNOWN
input |
---|
HSMOWJXKGRWSMD JMRTLLNPXKKXZC |
correct output |
---|
14 |
user output |
---|
(not available) |
Test 4
Verdict: UNKNOWN
input |
---|
NGPYCNPO UQPXWVLGHC |
correct output |
---|
9 |
user output |
---|
(not available) |
Test 5
Verdict: UNKNOWN
input |
---|
SQTCKWAMFJEBV IUWGGNJOMQFP |
correct output |
---|
13 |
user output |
---|
(not available) |
Test 6
Verdict: UNKNOWN
input |
---|
VDREWLLHMEVGFGBXJJOSSLHNJBOTRK... |
correct output |
---|
4047 |
user output |
---|
(not available) |
Test 7
Verdict: UNKNOWN
input |
---|
EIIUUQXSAFMTRSEZSFYNSAGHUWTSGY... |
correct output |
---|
3769 |
user output |
---|
(not available) |
Test 8
Verdict: UNKNOWN
input |
---|
HVOXUVAZYFBKEWQXVGJMYXCCXBWRNW... |
correct output |
---|
3806 |
user output |
---|
(not available) |
Test 9
Verdict: UNKNOWN
input |
---|
AWGASQANDZQTVKXQDKWNADQDBXKCOK... |
correct output |
---|
4069 |
user output |
---|
(not available) |
Test 10
Verdict: UNKNOWN
input |
---|
WXAAJJALZRLGLSXDPUPURULYINBFGX... |
correct output |
---|
3874 |
user output |
---|
(not available) |
Test 11
Verdict: UNKNOWN
input |
---|
A A |
correct output |
---|
0 |
user output |
---|
(not available) |
Test 12
Verdict: UNKNOWN
input |
---|
A B |
correct output |
---|
1 |
user output |
---|
(not available) |
Test 13
Verdict: UNKNOWN
input |
---|
AA A |
correct output |
---|
1 |
user output |
---|
(not available) |
Test 14
Verdict: UNKNOWN
input |
---|
A AA |
correct output |
---|
1 |
user output |
---|
(not available) |
Test 15
Verdict: UNKNOWN
input |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
5000 |
user output |
---|
(not available) |
Test 16
Verdict: UNKNOWN
input |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
0 |
user output |
---|
(not available) |
Test 17
Verdict: UNKNOWN
input |
---|
B AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
5000 |
user output |
---|
(not available) |
Test 18
Verdict: UNKNOWN
input |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
5000 |
user output |
---|
(not available) |
Test 19
Verdict: UNKNOWN
input |
---|
KITTEN SITTING |
correct output |
---|
3 |
user output |
---|
(not available) |