167992025-05-13 13:35:15BucsMateRegexcpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
subtask29/9
3Elfogadva39ms24468 KiB
4Elfogadva182ms29484 KiB
5Elfogadva165ms34636 KiB
6Elfogadva181ms23716 KiB
7Elfogadva216ms34528 KiB
8Elfogadva204ms33112 KiB
subtask311/11
9Elfogadva1ms508 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
14Elfogadva1ms316 KiB
subtask413/13
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
subtask524/24
21Elfogadva2ms564 KiB
22Elfogadva3ms820 KiB
23Elfogadva2ms756 KiB
24Elfogadva2ms564 KiB
25Elfogadva2ms564 KiB
26Elfogadva3ms820 KiB
subtask643/43
27Elfogadva48ms27332 KiB
28Elfogadva182ms30424 KiB
29Elfogadva208ms38124 KiB
30Elfogadva224ms39452 KiB
31Elfogadva129ms17216 KiB
32Elfogadva149ms28868 KiB
33Elfogadva250ms33284 KiB
34Elfogadva226ms39220 KiB