Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string>#include <vector>#include <math.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include <limits.h>#include <stdbool.h>#include <algorithm>#include <iostream>#include <map>#include <set>#include <queue>#include <unordered_map>#include <unordered_set>#include <stack>using namespace std;bool used[10];vector<string> res;void back(vector<int>& per, string str, int st) {if (st >= per.size()) {res.push_back(str.substr(0, str.size() - 1));return;}for (int i = st; i < per.size(); ++i) {if (i != st && per[i] < per[i - 1]) {