Task: | Edit distance |
Sender: | chaozik1337 |
Submission time: | 2016-09-17 14:00:04 +0300 |
Language: | Java |
Status: | READY |
Result: | ACCEPTED |
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 javafx.util.Pair; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; public class Main { public static int distance(String S1, String S2) { // LEVENSTEIN DISTANCE int m = S1.length(); int n = S2.length(); int[] D1; int[] D2 = new int[n + 1]; for(int i = 0; i <= n; i ++) D2[i] = i; for(int i = 1; i <= m; i ++) { D1 = D2; D2 = new int[n + 1]; for(int j = 0; j <= n; j ++) { if(j == 0) D2[j] = i; else { int cost = (S1.charAt(i - 1) != S2.charAt(j - 1)) ? 1 : 0; if(D2[j - 1] < D1[j] && D2[j - 1] < D1[j - 1] + cost) D2[j] = D2[j - 1] + 1; else if(D1[j] < D1[j - 1] + cost) D2[j] = D1[j] + 1; else D2[j] = D1[j - 1] + cost; } } } return D2[n]; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String first = scanner.nextLine(); String second = scanner.nextLine(); System.out.println(distance(first, second)); } }
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) |