玄关求调
查看原帖
玄关求调
1382496
myl_coder楼主2025/8/1 15:40
#include <bits/stdc++.h>
using namespace std;

int p1, p2, p3, len;
char pre;
//p1:
/*
1:小写
2:大写
3:星号
*/
//p2:
/*
重复次数
*/
//p3:
/*
1:原序
2:逆序
*/
string s;

void out (char x) {
	for (int i = 1; i <= p2; i ++) {
		if (p1 == 1) {
			cout << x;
		} else if (p1 == 2) {
			cout << char(x - 32);
		} else cout << "*";
	}
}

int main() {
	ios :: sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	//freopen (".in", "r", stdin);
	//freopen (".out", "w", stdout);

	cin >> p1 >> p2 >> p3;
	cin >> s;
	len = s.size();
	for (int i = 0; i < len; i ++) {
		if (s[i] == '-') {
			char a = s[i + 1];
			if (pre == '-') {
				cout << '-';
				pre = '-';
				continue;
			}
			if (((a >= 'a' && a <= 'z' && pre <= 'z' && pre >= 'a') || (a >= '0' && a <= '9' && pre <= '9' && pre >= '0')) && a > pre) {
				char p;
				if (p3 == 1) {
					for (p = pre + 1; p < a; p ++) {
						out(p);
					}
				} else {
					for (p = a - 1; p > pre; p --) {
						out(p);
					}
				}
			} else {
				cout << "-";
			}
		} else {
			cout << s[i];
		}
		pre = s[i];
	}

	return 0;
}
/*
2 8 2
--09-8-w-er-7h-08w-e7-hc-r890-q7w-eh-rc98-07-q8-ewr-8h-c-8-294-5-dsf--k-h-2-48-3k-h-sd-fq-a-

正确:
--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-hRRRRRRRRQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIsdEEEEEEEEfq-a-


*/
2025/8/1 15:40
加载中...