// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
const int lim = 2000000000;
int main() {
int t;cin >> t;
while(t--){
string a , b; cin >> a >> b;
int n = a.size() , m = b.size();
vector<vector<int>> dp1(n+2 , vector<int>(m+2 , lim)) , dp2(n+2 , vector<int>(m+2 , lim));
dp1[1][1] = 0;
dp2[1][1] = 3;
for(int i = 1; i < n+2; i++){
for(int j = 1; j < m+2; j++){
dp2[i][j] = min(min(min(dp1[i-1][j]+4 , dp1[i][j-1]+4) , min(dp2[i-1][j]+1 , dp2[i][j-1]+1)), dp2[i][j]);
dp1[i][j] = min(dp2[i][j] , dp1[i][j]);
if(i != 1 && j!=1 && a[i-2] == b[j-2]){
dp1[i][j] = min(dp1[i-1][j-1]+1 , dp1[i][j]);
}
}
}
cout << dp1.back().back() << "\n";
}
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 9/9 | ||||||
| 3 | Accepted | 37ms | 24360 KiB | ||||
| 4 | Accepted | 160ms | 29580 KiB | ||||
| 5 | Accepted | 143ms | 34640 KiB | ||||
| 6 | Accepted | 143ms | 23588 KiB | ||||
| 7 | Accepted | 211ms | 34660 KiB | ||||
| 8 | Accepted | 160ms | 33048 KiB | ||||
| subtask3 | 11/11 | ||||||
| 9 | Accepted | 1ms | 500 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 1ms | 500 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 | 500 KiB | ||||
| 17 | Accepted | 1ms | 508 KiB | ||||
| 18 | Accepted | 1ms | 508 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 316 KiB | ||||
| subtask5 | 24/24 | ||||||
| 21 | Accepted | 1ms | 756 KiB | ||||
| 22 | Accepted | 2ms | 820 KiB | ||||
| 23 | Accepted | 2ms | 756 KiB | ||||
| 24 | Accepted | 2ms | 756 KiB | ||||
| 25 | Accepted | 2ms | 564 KiB | ||||
| 26 | Accepted | 2ms | 820 KiB | ||||
| subtask6 | 43/43 | ||||||
| 27 | Accepted | 39ms | 27400 KiB | ||||
| 28 | Accepted | 180ms | 30504 KiB | ||||
| 29 | Accepted | 165ms | 38164 KiB | ||||
| 30 | Accepted | 221ms | 39616 KiB | ||||
| 31 | Accepted | 101ms | 17204 KiB | ||||
| 32 | Accepted | 127ms | 28724 KiB | ||||
| 33 | Accepted | 197ms | 33316 KiB | ||||
| 34 | Accepted | 197ms | 39108 KiB | ||||