Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
123042 | 张耀夫 | 字符串的展开 | C++ | 内存超限 | 40 | 224 MS | 184608 KB | 860 | 2024-01-22 17:10:03 |
#include <bits/stdc++.h> using namespace std; int p1, p2, p3; string s, ans; char tochar ( char ch ){ if ( p1 == 3 ){ return '*'; return p1 == 1?tolower(ch):toupper(ch); } } int main(){ cin >> p1 >> p2 >> p3 >> s; s = ' ' + s + ' '; for ( int i = 1; i <= s.size() - 1; i++ ){ if ( s[i] != '-' ){ ans += s[i]; }else{ char S = s[i - 1], t = s[i + 1]; if ( S < t && ( islower (S) && islower (t) || isdigit (S) && isdigit (t) ) ){ if ( p3 == 1 ){ for ( char i = S + 1; i <= t - 1; i++ ){ for ( int j = 0; j < p2; i++ ){ ans += tochar (i); } } }else{ for ( char i = t - 1; i >= S + 1; i-- ){ for ( int j = 0; j < p2; j++ ){ ans += tochar(i); } } } } else{ ans += '-'; } } } cout << ans << endl; return 0; }