求调QwQ
查看原帖
求调QwQ
1277657
Yaoshui_lv楼主2024/9/8 13:52
#include <bits/stdc++.h>
using namespace std;

int p1, p2, p3;
string s;

void init() {
	cin >> p1 >> p2 >> p3;
	cin >> s;
}

inline bool check(int u) {
//	cout << "1 ";
	if ((islower(s[u-1]) && islower(s[u+1])) || (isdigit(s[u-1] && isdigit(s[u+1])))) {
//		cout << "2 ";
		if (s[u-1]<s[u+1]) {
//			cout << "3t ";
			return true;
		} else {
//			cout << "3f ";
			return false;
		}
	}
		
}

int main() {
	init();
	for (int i = 1; i < s.length()-1; i++) {
		if (s[i] == '-') {
			if (check(i)) {
				cout << endl;
				if(p1 == 1){
					s.erase(i,1);
					string t = "";
					for (int j = s[i-1]+1; j <= s[i]-1; j++){
						char ch = j;
						for (int k = 1; k <= p2; k++) t.push_back(ch);
					}
					if(p3 == 2) reverse(t.begin(), t.end());
					s.insert(i, t);
				}
				else if (p1 == 2){
					s.erase(i, 1);
					string t = "";
					for(int j = s[i-1]+1; j <= s[i]-1; j++){
						char ch = j;
						ch = toupper(ch);
						for(int k = 1; k <= p2; k++) t.push_back(ch);
					}
					if(p3 == 2) reverse(t.begin(), t.end());
					s.insert(i, t);
				} else if (p1 == 3) {
					s.erase(i, 1);
					string t = "";
					for(int j = s[i-1]+1; j <= s[i]-1;j++)
						for(int k = 1; k <= p2; k++) t.push_back('*');
					if (p3 == 2) reverse(t.begin(), t.end());
					s.insert(i, t);
				}
			}
		}
	}
	cout << endl;
	cout << s << endl;
	return 0;
}
2024/9/8 13:52
加载中...