53082023-04-25 18:59:15gortomiRegexcpp17Hibás válasz 0/100196ms82696 KiB
#include <bits/stdc++.h>
using namespace std;
void solve()
{
    string a, b;
    cin >> a >> b;
    int n = a.size(), m = b.size();
    vector<vector<int> > dp1(n + 1, vector<int>(m + 1)), dp2(n + 1, vector<int>(m + 1));
    for(int i = 0; i <= n; i++)
    {
        dp1[i][m] = n - i + 3;
        dp2[i][m] = n - i;
    }
    for(int i = 0; i <= m; i++)
    {
        dp1[n][i] = m - i + 3;
        dp2[n][i] = m - i;
    }
    dp1[n][m] = 0;
    for(int i = n - 1; i >= 0; i--)
    {
        for(int j = m - 1; j >= 0; j--)
        {
            if(a[i] == b[j])
            {
                dp1[i][j] = dp1[i + 1][j + 1] + 1;
                dp2[i][j] = dp1[i + 1][j + 1] + 1;
            }
            else dp1[i][j] = min(dp2[i + 1][j] + 4, dp2[i][j + 1] + 4);
            dp2[i][j] = min(dp2[i][j], dp2[i + 1][j] + 1);
            dp2[i][j] = min(dp2[i][j], dp2[i][j + 1] + 1);
        }
    }
    cout << dp1[0][0] << "\n";
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    while(t--) solve();
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1836 KiB
2Hibás válasz3ms2184 KiB
subtask20/9
3Hibás válasz30ms49968 KiB
4Hibás válasz123ms60624 KiB
5Hibás válasz142ms70844 KiB
6Hibás válasz146ms49136 KiB
7Hibás válasz165ms71408 KiB
8Hibás válasz142ms68384 KiB
subtask30/11
9Hibás válasz3ms3080 KiB
10Hibás válasz3ms3188 KiB
11Hibás válasz3ms3196 KiB
12Hibás válasz3ms3396 KiB
13Hibás válasz3ms3608 KiB
14Hibás válasz3ms3816 KiB
subtask40/13
15Hibás válasz3ms3952 KiB
16Hibás válasz3ms3968 KiB
17Hibás válasz3ms4008 KiB
18Hibás válasz3ms3992 KiB
19Hibás válasz3ms4188 KiB
20Hibás válasz3ms4180 KiB
subtask50/24
21Hibás válasz3ms4952 KiB
22Hibás válasz4ms5096 KiB
23Hibás válasz4ms5196 KiB
24Hibás válasz4ms5116 KiB
25Hibás válasz3ms5028 KiB
26Hibás válasz4ms5216 KiB
subtask60/43
27Hibás válasz39ms58368 KiB
28Hibás válasz156ms64708 KiB
29Hibás válasz158ms79964 KiB
30Hibás válasz194ms82696 KiB
31Hibás válasz86ms38140 KiB
32Hibás válasz143ms61408 KiB
33Hibás válasz196ms70240 KiB
34Hibás válasz177ms82104 KiB