酱紫扣细节...
查看原帖
酱紫扣细节...
1587577
RoguePlus楼主2025/1/16 19:30

感受到模拟的魅力了

#include <iostream>
#include <algorithm>
#include <string>
#include <cctype>
#include <cstring>

using namespace std;

string s, ret;
int p1, p2, p3;

int main() {
	cin >> p1 >> p2 >> p3;
	cin >> s;
	
	int len = s.size();
	for (int i = 0; i < len; ++i) {
		if (s[i] != '-') ret += s[i];
		else if (i == 0 || i == len - 1) ret += s[i];
		else if (s[i - 1] >= s[i + 1] || (isdigit(s[i - 1]) && isalpha(s[i + 1])) || s[i - 1] == '-' || s[i + 1] == '-') ret += s[i];
		else if (s[i - 1] + 1 == s[i + 1]) continue;
		else {
			string tmp = "";
			for (char c = s[i - 1] + 1; c < s[i + 1]; ++c) {
				for (int j = 1; j <= p2; ++j) {
					if (p1 == 1) tmp += c;
					else if (p1 == 2) tmp += toupper(c);
					else tmp += "*";
					}
				}
			if (p3 == 1) ret += tmp;
			else{
				reverse(tmp.begin(), tmp.end());
				ret += tmp;
			}
		}
	}
	cout << ret;
	return 0;
}
2025/1/16 19:30
加载中...