提交时间:2024-01-22 17:10:03
运行 ID: 123042
#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; }