167992025-05-13 13:35:15BucsMateRegexcpp17Accepted 100/100250ms39452 KiB
#include <iostream>
#include <string>
#include <vector>

using namespace std;

const int INF = 1000*1000*1000;

int main()
{
    int T;
    cin >> T;
    for(int teszt = 0; teszt < T; teszt++){
        string a = "0", b = "0", tempa, tempb;
        cin >> tempa >> tempb;
        a = a + tempa;
        b = b + tempb;
        //dp_final[i][j] a legkisebb hossz elso i es j karakterrel
        //dp_temp[i][j] a legkisebb hossz elso i es j karakterrel ugy, hogy az utolso karakter zarojelezve van
        vector<vector<int>> dp_final(a.size(), vector<int>(b.size(), INF)), dp_temp(a.size(), vector<int>(b.size(), INF));
        dp_final[0][0] = 0;
        dp_temp[0][0] = 3;
        for(int i = 0; i < a.size(); i++){
            for(int j = 0; j < b.size(); j++){
                int minim = dp_temp[i][j];
                if(i > 0){
                    minim = min(minim, dp_temp[i-1][j]+1);
                    minim = min(minim, dp_final[i-1][j]+4);
                }
                if(j > 0){
                    minim = min(minim, dp_temp[i][j-1]+1);
                    minim = min(minim, dp_final[i][j-1]+4);
                }
                dp_temp[i][j] = minim;
                dp_final[i][j] = min(dp_final[i][j], minim);
                if(i > 0 && j > 0 && a[i] == b[j]){
                    dp_final[i][j] = min(dp_final[i][j], dp_final[i-1][j-1] + 1);
                }
            }
        }
        cout << dp_final[a.size()-1][b.size()-1] << endl;
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
subtask29/9
3Accepted39ms24468 KiB
4Accepted182ms29484 KiB
5Accepted165ms34636 KiB
6Accepted181ms23716 KiB
7Accepted216ms34528 KiB
8Accepted204ms33112 KiB
subtask311/11
9Accepted1ms508 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
14Accepted1ms316 KiB
subtask413/13
15Accepted1ms316 KiB
16Accepted1ms316 KiB
17Accepted1ms316 KiB
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
subtask524/24
21Accepted2ms564 KiB
22Accepted3ms820 KiB
23Accepted2ms756 KiB
24Accepted2ms564 KiB
25Accepted2ms564 KiB
26Accepted3ms820 KiB
subtask643/43
27Accepted48ms27332 KiB
28Accepted182ms30424 KiB
29Accepted208ms38124 KiB
30Accepted224ms39452 KiB
31Accepted129ms17216 KiB
32Accepted149ms28868 KiB
33Accepted250ms33284 KiB
34Accepted226ms39220 KiB