Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<string>
- #include<algorithm>
- #define all(container) container.begin(), container.end()
- #define fors(counter, start, finish) for (int counter = start; counter < finish; ++counter)
- #define forb(counter, start, finish) for (int counter = start; counter >= finish; --counter)
- #define vec(type) std::vector<type>
- #define dvec(type) std::vector<std::vector<type>>
- int main() {
- std::ifstream fin("input.txt");
- std::string s, s2;
- fin >> s >> s2;
- if (s.size() < s2.size()) {
- swap(s, s2);
- }
- std::string s1 = "";
- fors(i, 0, s2.size())
- s1.push_back('0');
- fors(i, 0, s.size())
- s1.push_back(s[i]);
- fors(i, 0, s2.size())
- s1.push_back('0');
- int ans = 1000000;
- fors(i, 0, s1.size() - s2.size() + 1) {
- int j = i;
- while (s1[j] - '0' + s2[j - i] - '0' <= 3 && j - i < s2.size())
- ++j;
- if (j - i == s2.size()) {
- if (i < s2.size()) {
- ans = ans < s.size() + s2.size() - i ? ans : s.size() + s2.size() - i;
- }
- else if (i > s.size()) {
- ans = ans < i ? ans : i;
- }
- else {
- ans = ans < s.size() ? ans : s.size();
- }
- }
- }
- std::cout << ans << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment