Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>#define pb push_backtypedef long long ll;using namespace std;typedef pair<int, int> pii;const int maxn = 5e4 + 10;map<string, int> ma;string tar;set<string> in;int dfs(string s, string p) {//cout << s << " " << p << endl;if(in.count(s)) {//cout << s << endl;return INT_MAX;}if(s == tar) return 0;if(ma.count(s)) return ma[s];in.insert(s);set<string> se;//se.insert(p);se.insert(s);//int cur = f(t);int res = INT_MAX;//ma[s] = res;string& t = s;for (int i = 0; i + 1 < t.size(); i++) {string ts = t;reverse(ts.begin(), ts.begin() + i);reverse(ts.begin() + i, ts.begin() + i + 2);