easy understand || C++ solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\nO(10*10*n)\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\nO(n)\n# Code\n```\nclass Solution {\npublic:\n    string findLexSmallestString(string s, int a, int b) {\n        unordered_set<string> us;\n        queue<string> q;\n        q.push(s);\n        string ans = s;\n        int n = s.length();\n        while (!q.empty()) {\n            string tmp = q.front();\n            q.pop();\n            reverse(tmp.begin(), tmp.begin() + b);\n            reverse(tmp.begin() + b, tmp.end());\n            reverse(tmp.begin(), tmp.end());\n            if (us.count(tmp) == 0) {\n                us.insert(tmp);\n                q.push(tmp);\n                ans = min(ans, tmp);\n            }\n\n            reverse(tmp.begin(), tmp.begin() + b);\n            reverse(tmp.begin() + b, tmp.end());\n            reverse(tmp.begin(), tmp.end());\n            for (int i = 1; i < n; i += 2) {\n                tmp[i] = ((tmp[i] - \'0\' + a) % 10) + \'0\';\n            }\n            if (us.count(tmp) == 0) {\n                us.insert(tmp);\n                q.push(tmp);\n                ans = min(ans, tmp);\n            }\n        }\n        return ans;\n    }\n};\n```
['C++']