53742023-04-26 19:48:04rmlanRegexcpp14Hibás válasz 24/100104ms83072 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
    int t;
    cin >> t;
    while(t--){
        string a,b;
        cin >> a >> b;
        if(a.length() < b.length()) swap(a,b);
        int dp[a.length()+1][b.length()+1][2];
        dp[0][0][0]=0;
        dp[0][0][1]=3;
        for(int i = 1; i <= a.length(); i++){dp[i][0][1]=i+3; dp[i][0][0]=1e5;}
        for(int i = 1; i <= b.length(); i++){dp[0][i][1]=i+3; dp[0][i][0]=1e5;}
        for(int i = 1; i <= a.length(); i++){
            for(int j = 1; j <= b.length(); j++){
                if(a[i-1]==b[j-1]){
                    //cout << "ok";
                    dp[i][j][0]=min(dp[i-1][j-1][0], dp[i-1][j-1][1])+1;
                    dp[i][j][1]=dp[i-1][j-1][1]+2;
                    dp[i][j][1]=min(dp[i][j][1], dp[i-1][j][1]+1);
                    dp[i][j][1]=min(dp[i][j][1], dp[i][j-1][1]+1);
                }else{

                    dp[i][j][0]=1e5;
                    dp[i][j][1]=dp[i-1][j-1][1]+2;
                    dp[i][j][1]=min(dp[i][j][1], dp[i-1][j-1][0]+5);
                    dp[i][j][1]=min(dp[i][j][1], dp[i-1][j][0]+4);
                    dp[i][j][1]=min(dp[i][j][1], dp[i][j-1][0]+4);
                    dp[i][j][1]=min(dp[i][j][1], dp[i-1][j][1]+1);
                    dp[i][j][1]=min(dp[i][j][1], dp[i][j-1][1]+1);
                }
            //cout << dp[i][j][0] << " "<<dp[i][j][1] << "    :" << i << " " << j << endl;
            }//cout << endl;
        }
        cout << min(dp[a.length()][b.length()][0], dp[a.length()][b.length()][1]) << endl;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1816 KiB
2Elfogadva3ms2080 KiB
subtask20/9
3Elfogadva28ms50256 KiB
4Elfogadva78ms60592 KiB
5Hibás válasz82ms70920 KiB
6Hibás válasz70ms49376 KiB
7Elfogadva97ms71400 KiB
8Elfogadva87ms68468 KiB
subtask311/11
9Elfogadva3ms3204 KiB
10Elfogadva2ms3296 KiB
11Elfogadva3ms3280 KiB
12Elfogadva2ms3252 KiB
13Elfogadva3ms3384 KiB
14Elfogadva3ms3592 KiB
subtask413/13
15Elfogadva3ms3720 KiB
16Elfogadva3ms3984 KiB
17Elfogadva3ms4204 KiB
18Elfogadva3ms4520 KiB
19Elfogadva3ms4468 KiB
20Elfogadva3ms4372 KiB
subtask50/24
21Elfogadva3ms5132 KiB
22Elfogadva4ms5272 KiB
23Elfogadva3ms5152 KiB
24Hibás válasz4ms5084 KiB
25Elfogadva3ms5064 KiB
26Elfogadva4ms5632 KiB
subtask60/43
27Elfogadva34ms58408 KiB
28Hibás válasz82ms65012 KiB
29Hibás válasz89ms80328 KiB
30Elfogadva101ms83072 KiB
31Hibás válasz54ms38568 KiB
32Hibás válasz82ms61620 KiB
33Elfogadva100ms70288 KiB
34Hibás válasz104ms82224 KiB