53092023-04-25 19:01:23gortomiRegexcpp17Elfogadva 100/100189ms82060 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, INT_MAX));
    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
1Elfogadva3ms1828 KiB
2Elfogadva3ms2184 KiB
subtask29/9
3Elfogadva30ms50200 KiB
4Elfogadva122ms60596 KiB
5Elfogadva142ms70856 KiB
6Elfogadva122ms49432 KiB
7Elfogadva189ms71728 KiB
8Elfogadva165ms68732 KiB
subtask311/11
9Elfogadva3ms3204 KiB
10Elfogadva3ms3284 KiB
11Elfogadva3ms3644 KiB
12Elfogadva3ms3532 KiB
13Elfogadva3ms3720 KiB
14Elfogadva3ms3852 KiB
subtask413/13
15Elfogadva2ms3916 KiB
16Elfogadva3ms3932 KiB
17Elfogadva3ms4068 KiB
18Elfogadva3ms3984 KiB
19Elfogadva3ms3972 KiB
20Elfogadva3ms3996 KiB
subtask524/24
21Elfogadva3ms4624 KiB
22Elfogadva3ms4820 KiB
23Elfogadva4ms4664 KiB
24Elfogadva3ms4476 KiB
25Elfogadva3ms4432 KiB
26Elfogadva4ms4732 KiB
subtask643/43
27Elfogadva35ms57624 KiB
28Elfogadva134ms64076 KiB
29Elfogadva137ms79444 KiB
30Elfogadva165ms82060 KiB
31Elfogadva85ms37604 KiB
32Elfogadva123ms61096 KiB
33Elfogadva168ms69988 KiB
34Elfogadva153ms81856 KiB