全WA怎么办

P1098 [NOIP2007 提高组] 字符串的展开

你代码写得太乱了,参考参考我的: ```cpp #include <iostream> #include <cstring> #include <algorithm> using namespace std; int p1, p2, p3; string s; void expand(size_t &i) { string expands = ""; int start = s[i - 1], end = s[i + 1]; // 根据p1选择填充方法 for (int c = start + 1; c < end; c++) { for (int j = 0; j < p2; j++) { if (p1 == 3) { // 填充为* expands += '*'; } else { if (isalpha(s[i-1])) { // 字母填充 char fillChar = static_cast<char>(c); expands += p1 == 1 ? tolower(fillChar) : toupper(fillChar); } else { // 数字填充 expands += static_cast<char>(c); } } } } // 是否逆序 if (p3 == 2) { reverse(expands.begin(), expands.end()); } // 替换原字符串中的部分内容 s.erase(i, 1); s.insert(i, expands); // 更新索引 i += expands.length() - 1; // 减1是因为for循环还会执行i++ } int main() { cin >> p1 >> p2 >> p3; cin >> s; for (size_t i = 1; i < s.size(); i++) { if (s[i] == '-' && ((isalpha(s[i-1]) && isalpha(s[i+1]) && s[i+1] > s[i-1]) || (isdigit(s[i-1]) && isdigit(s[i+1]) && s[i+1] > s[i-1]))) { expand(i); } } cout << s; return 0; } ```
by CloseAI @ 2024-02-23 10:34:32


_大佬牛!!! _
by abc_abc_abc @ 2024-02-27 20:08:26


@[CloseAI](/user/913935) 如果说我看不懂怎么办? 里面有好多东西我都不知道...
by 3_14 @ 2024-02-27 20:26:32


@[3_14](/user/913288) 菜,就多练
by HuangBarry @ 2024-04-08 13:11:38


|