#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;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 9/9 | ||||||
| 3 | Accepted | 39ms | 24468 KiB | ||||
| 4 | Accepted | 182ms | 29484 KiB | ||||
| 5 | Accepted | 165ms | 34636 KiB | ||||
| 6 | Accepted | 181ms | 23716 KiB | ||||
| 7 | Accepted | 216ms | 34528 KiB | ||||
| 8 | Accepted | 204ms | 33112 KiB | ||||
| subtask3 | 11/11 | ||||||
| 9 | Accepted | 1ms | 508 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| 13 | Accepted | 1ms | 316 KiB | ||||
| 14 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 13/13 | ||||||
| 15 | Accepted | 1ms | 316 KiB | ||||
| 16 | Accepted | 1ms | 316 KiB | ||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Accepted | 1ms | 316 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 316 KiB | ||||
| subtask5 | 24/24 | ||||||
| 21 | Accepted | 2ms | 564 KiB | ||||
| 22 | Accepted | 3ms | 820 KiB | ||||
| 23 | Accepted | 2ms | 756 KiB | ||||
| 24 | Accepted | 2ms | 564 KiB | ||||
| 25 | Accepted | 2ms | 564 KiB | ||||
| 26 | Accepted | 3ms | 820 KiB | ||||
| subtask6 | 43/43 | ||||||
| 27 | Accepted | 48ms | 27332 KiB | ||||
| 28 | Accepted | 182ms | 30424 KiB | ||||
| 29 | Accepted | 208ms | 38124 KiB | ||||
| 30 | Accepted | 224ms | 39452 KiB | ||||
| 31 | Accepted | 129ms | 17216 KiB | ||||
| 32 | Accepted | 149ms | 28868 KiB | ||||
| 33 | Accepted | 250ms | 33284 KiB | ||||
| 34 | Accepted | 226ms | 39220 KiB | ||||