2 条题解

  • 0
    @ 2026-2-23 16:30:24

    #include #include #include using namespace std;

    int main() { string s; cin >> s; vector cnt(26, 0); for (char c : s) { cnt[c - 'A']++; }
    int odd_count = 0; char odd_char = 0; for (int i = 0; i < 26; i++) { if (cnt[i] % 2 == 1) { odd_count++; odd_char = 'A' + i; } }

    if (odd_count > 1) {
        cout << "NO SOLUTION" << endl;
        return 0;
    }
    string half = "";
    for (int i = 0; i < 26; i++) {
        half += string(cnt[i] / 2, 'A' + i);
    }
    string middle = "";
    if (odd_count == 1) {
        middle = odd_char;
    }
    string result = half + middle;
    
    for (int i = half.length() - 1; i >= 0; i--) {
        result += half[i];
    }
    
    cout << result << endl;
    
    return 0;
    

    }

    信息

    ID
    4625
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    194
    已通过
    51
    上传者