You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.2 KiB

#include <bits/stdc++.h>
using namespace std;
void out(char c, int cnt) {
for (int i = 1; i <= cnt; i++) printf("%c", c);
}
bool check(char x, char y) {
if (x >= '0' && x <= '9' && y >= '0' && y <= '9' && x < y) return true;
if (x >= 'a' && x <= 'z' && y >= 'a' && y <= 'z' && x < y) return true;
return false;
}
int main() {
int p1, p2, p3;
string s;
cin >> p1 >> p2 >> p3 >> s;
for (int i = 0; i < s.size(); i++) {
char x = s[i - 1], y = s[i + 1];
if (s[i] == '-' && check(x, y)) {
if (p1 == 3)
for (char a = x + 1; a < y; a++) out('*', p2);
if (p1 == 1) {
if (p3 == 1)
for (char a = x + 1; a < y; a++) out(a, p2);
else
for (char a = y - 1; a > x; a--) out(a, p2);
}
if (p1 == 2) {
if (p3 == 1)
for (char a = x + 1; a < y; a++) {
if (a >= 'a' && a <= 'z')
out(a - 32, p2);
else
out(a, p2);
}
else
for (char a = y - 1; a > x; a--) {
if (a >= 'a' && a <= 'z')
out(a - 32, p2);
else
out(a, p2);
}
}
} else
cout << s[i];
}
return 0;
}
/*
--09-8-w-er-7h-08w-e7-hcQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIHHHHHHHHGGGGGGGGFFFFFFFFEEEEEEEEDDDDDDDDr890-q7w-ehQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIrc98-07-q8-ewr-8h-c-8-2945-dsf--k-h-23333333348-3k-hRRRRRRRRQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIsdEEEEEEEEfq-a-
--09-8-w-er-7h-08w-e7-hcQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIHHHHHHHHGGGGGGGGFFFFFFFFEEEEEEEEDDDDDDDDr890-q7w-ehQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIrc98-07-q8-ewr-8h-c-8-2945-dsf--k-h-248-3k-hRRRRRRRRQQQQQQQQPPPPPPPPOOOOOOOON
NNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIsdEEEEEEEEfq-a-
*/