4050 2023. 03. 11 00:30:48 zsombor Regex cpp17 Hibás válasz 24/100 107ms 145512 KiB
#include <iostream>
#include <vector>
using namespace std;

string a, b;
int n, m, Mn, ans;
vector <vector <int>> dp(3e3, vector <int>(3e3, 1e9));
vector <vector <int>> mn(3e3, vector <int>(3e3, 0));

void solve() {
    cin >> a >> b;
    n = a.size();
    m = b.size();
    a = "a" + a;
    b = "a" + b;
    ans = dp[0][0] = n + m + 3;
    for (int i = 0; i <= n; i++) mn[i][0] = dp[0][0];
    for (int j = 0; j <= m; j++) mn[0][j] = dp[0][0];
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            Mn = min(mn[i - 1][j], mn[i][j - 1]);
            if (a[i] != b[j]) { mn[i][j] = Mn; continue; }
            dp[i][j] = (a[i - 1] == b[j - 1] ? dp[i - 1][j - 1] - 1 : Mn + 2);
            if (i == n && j == m) dp[i][j] -= 3;
            mn[i][j] = min(Mn, dp[i][j]);
        }
    }
    cout << mn[n][m] << endl;
}

int main()
{
    int t;
    cin >> t;
    for (int i = 0; i < t; i++) solve();
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 48ms 142892 KiB
2 Elfogadva 61ms 143232 KiB
subtask2 0/9
3 Hibás válasz 71ms 143572 KiB
4 Hibás válasz 92ms 143616 KiB
5 Hibás válasz 90ms 143828 KiB
6 Hibás válasz 90ms 144040 KiB
7 Hibás válasz 104ms 144116 KiB
8 Hibás válasz 96ms 144080 KiB
subtask3 11/11
9 Elfogadva 48ms 144320 KiB
10 Elfogadva 61ms 144072 KiB
11 Elfogadva 61ms 144332 KiB
12 Elfogadva 61ms 144548 KiB
13 Elfogadva 50ms 144548 KiB
14 Elfogadva 48ms 144672 KiB
subtask4 13/13
15 Elfogadva 61ms 144744 KiB
16 Elfogadva 61ms 144752 KiB
17 Elfogadva 61ms 144748 KiB
18 Elfogadva 50ms 144848 KiB
19 Elfogadva 48ms 144928 KiB
20 Elfogadva 48ms 145048 KiB
subtask5 0/24
21 Elfogadva 48ms 145112 KiB
22 Hibás válasz 48ms 145108 KiB
23 Elfogadva 61ms 145112 KiB
24 Hibás válasz 50ms 145120 KiB
25 Hibás válasz 48ms 145124 KiB
26 Hibás válasz 48ms 145120 KiB
subtask6 0/43
27 Elfogadva 72ms 145456 KiB
28 Hibás válasz 97ms 145252 KiB
29 Hibás válasz 97ms 145272 KiB
30 Hibás válasz 105ms 145252 KiB
31 Hibás válasz 79ms 145244 KiB
32 Hibás válasz 92ms 145252 KiB
33 Hibás válasz 107ms 145512 KiB
34 Hibás válasz 101ms 145464 KiB