https://vjudge.net/problem/UVA-1588
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string s, t;
while (cin >> s >> t) {
if (s.size() < t.size()) swap(s, t);//t代表短的串
int gap = 0,gmax=0;
for (int i = 0; i < s.size()+t.size(); ++i) {
if (i < t.size()) ++gap;
if (i >= s.size()) --gap;
bool flag = true;
for (int k = 0; k < t.size(); ++k)
if (i - t.size() + 1 + k >= 0 && i - t.size() + 1 + k <s.size()&& t[k] +s[i - t.size() + 1 + k]-'0'>'3'){
flag = false; break;
}
if (flag) {
gmax = max(gap, gmax);
}
}
cout << s.size() + t.size() - gmax << endl;
}
}