WA于#9求调!!
查看原帖
WA于#9求调!!
1271572
Moxiang_Terry楼主2025/6/28 22:22

WA于#9,也是醉了……

有没有大佬帮忙调一下谢谢

#include <bits/stdc++.h>
using namespace std;

string solve(char left, char right, int p1, int p2, int p3) {
    string result = "";
    if (right <= left || 
        (!isdigit(left) && !islower(left)) || 
        (!isdigit(right) && !islower(right)) || 
        (isdigit(left) != isdigit(right))) {
        return "-";
    }
    if (right - left == 1) {
        return "";
    }

    for (char c = left + 1; c < right; ++c) {
        char ch = (p1 == 1 || isdigit(c)) ? c : (p1 == 2 ? toupper(c) : '*');
        string repeatChar(p2, ch); // 提重
        result += repeatChar;
    }

    if (p3 == 2) {
        reverse(result.begin(), result.end());
    }
    return result;
}

int main() {
    int p1, p2, p3;
    cin >> p1 >> p2 >> p3;
    string s;
    cin >> s;

    string ans = "";
    for (int i = 0; i < s.length(); ++i) {
        if (i > 0 && i < s.length() - 1 && s[i] == '-') {
            ans += solve(s[i - 1], s[i + 1], p1, p2, p3);
        } else {
            ans += s[i];
        }
    }
    cout << ans << endl;
    return 0;
}
2025/6/28 22:22
加载中...