Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
123330 余冠学 字符串的展开 C++ 通过 100 0 MS 252 KB 1567 2024-01-22 20:44:48

Tests(10/10):


# include <iostream> # include <cstring> using namespace std; int main(){ int p1,p2,p3; cin >> p1 >> p2 >> p3; string input; cin >> input; for (int i = 0;i < input.size();i++){ if (i == 0){ cout << input[i]; }else if ((input[i] != '-' || i + 1 >= input.size()) || ((int)(input[i+1] <= (int)(input[i-1])) || ((input[i-1] >= '0' && input[i-1] <= '9' && input[i+1] >= 'a' && input[i+1] <= 'z') || (input[i+1] >= '0' && input[i+1] <= '9' && input[i-1] >= 'a' && input[i-1] <= 'z')))){ cout << input[i]; }else if (i + 1 <= input.size() && input[i] == '-' && input[i+1] == '-'){ cout << input[i]; }else if (input[i-1] == '-' && input[i] == '-'){ cout << input[i]; }else{ if (p1 == 3){ for (int j = input[i-1] + 1;j < input[i+1];j++){ for (int k = 0;k < p2;k++) cout << "*"; } }else if (input[i-1] <= '9'){ if (p3 == 1){ for (char j = input[i-1] + 1;j < input[i+1];j++){ for (int k = 0;k < p2;k++) cout << j; } }else{ for (char j = input[i+1] - 1;j > input[i-1];j--){ for (int k = 0;k < p2;k++) cout << j; } } }else{ if (p3 == 1){ for (char j = input[i-1] + 1;j < input[i+1];j++){ for (int k = 0;k < p2;k++){ if (p1 == 1) cout << j; else cout << (char)(j - 'a' + 'A'); } } }else{ for (char j = input[i+1] - 1;j > input[i-1];j--){ for (int k = 0;k < p2;k++){ if (p1 == 1) cout << j; else cout << (char)(j - 'a' + 'A'); } } } } } }return 0; }


测评信息: