CSES - E4590 2018 2 - Results
Submission details
Task:Edit distance
Sender:kakuro
Submission time:2018-09-22 13:46:28 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1UNKNOWN--details
#2UNKNOWN--details
#3UNKNOWN--details
#4UNKNOWN--details
#5UNKNOWN--details
#6UNKNOWN--details
#7UNKNOWN--details
#8UNKNOWN--details
#9UNKNOWN--details
#10UNKNOWN--details
#11UNKNOWN--details
#12UNKNOWN--details
#13UNKNOWN--details
#14UNKNOWN--details
#15UNKNOWN--details
#16UNKNOWN--details
#17UNKNOWN--details
#18UNKNOWN--details
#19UNKNOWN--details

Code

#include <iostream>
#include <deque>
#include <algorithm>

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef std::string str;

using namespace std;

int table[5001][5001];

ll calcDistance(str a, str b, int n, int m) {
  int incN = n+1, incM = m+1;
  if (table[incN][incM] != -1) {
    return table[incN][incM];
  }
  if (n==-1) {
    table[incN][incM] = incM;
    return incM;
  }
  if (m==-1) {
    table[incN][incM] = incN;
    return incN;
  }
  table[incN][incM] = min(calcDistance(a, b, n-1, m) + 1,
      min(calcDistance(a, b, n, m-1) + 1,
      calcDistance(a, b, n-1, m-1) + (int)(a[n] != b[m])));
  return table[incN][incM];
}

int main() {
    for(int i=0; i<5001; i++) {
      for(int j=0; j<5001; j++) {
        table[i][j] = -1;
      }
    }
    str a, b;
    cin >> a >> b;
    ll res = calcDistance(a, b, a.size()-1, b.size()-1);
    cout << res << endl;
}

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)