#include <iostream> #include <string> #include <unordered_set> #include <vector> using namespace std; int main() { string s; cin >> s; int n = s.length(); unordered_set<char> unique_chars(s.begin(), s.end()); // 统计字符集合 // 如果字符集大小只有 1,说明无法构造满足条件的字符串 if (unique_chars.size() == 1) { cout << -1 << endl; return 0; } // 将字符集存储到一个数组中 vector<char> char_list(unique_chars.begin(), unique_chars.end()); int m = char_list.size(); string t = s; // 初始化结果字符串 t // 遍历字符串,替换每个字符 for (int i = 0; i < n; i++) { // 在字符列表中找到当前字符的位置 for (int j = 0; j < m; j++) { if (char_list[j] == s[i]) { // 替换为列表中的下一个字符(循环处理) t[i] = char_list[(j + 1) % m]; break; } } } cout << t << endl; // 输出结果 return 0; }