80pts,#8#9WA求调
查看原帖
80pts,#8#9WA求调
752069
DonBeUpLate楼主2023/7/24 18:40
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define I (int)
const int maxn=1e4+10;
string s,s1,s2,s3;
int p1,p2,p3;
int main() {
	cin>>p1>>p2>>p3;
	cin>>s;
	s1="abcdefghijklmnopqrstuvwxyz";
	s2="0123456789";
	s3="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for(int i=0;i<s.size();i++) {
		if(s[i]=='-') {
			if(I 'a'<=I s[i-1]&&I s[i-1]<=I 'z'&&I 'a'<=I s[i+1]&&I s[i+1]<=I 'z'&&I s[i-1]<I s[i+1]) {
				int a=I s[i-1]-'a';
				int b=I s[i+1]-'a';
				if(p1==1) {
					if(p3==1) {
						for(int i=a+1;i<b;i++) {
							for(int j=1;j<=p2;j++) {
								cout<<s1[i];
							}
						}
					}
					if(p3==2) {
						for(int i=b-1;i>a;i--) {
							for(int j=1;j<=p2;j++) {
								cout<<s1[i];
							}
						}
					}
				}
				if(p1==2) {
					if(p3==1) {
						for(int i=a+1;i<b;i++) {
							for(int j=1;j<=p2;j++) {
								cout<<s3[i];
							}
						}
					}
					if(p3==2) {
						for(int i=b-1;i>a;i--) {
							for(int j=1;j<=p2;j++) {
								cout<<s3[i];
							}
						}
					}
				}
			}
			else if(I '0'<=I s[i-1]&&I s[i-1]<=I '9'&&I '0'<=I s[i+1]&&I s[i+1]<=I '9'&&I s[i-1]<I s[i+1]) {
				int a=I s[i-1]-'0';
				int b=I s[i+1]-'0';
				if(p3==1) {
						for(int i=a+1;i<b;i++) {
							for(int j=1;j<=p2;j++) {
								cout<<s2[i];
							}
						}
					}
				if(p3==2) {
					for(int i=b-1;i>a;i--) {
						for(int j=1;j<=p2;j++) {
							cout<<s2[i];
						}
					}
				}
			}
			else cout<<s[i];
		}
		else cout<<s[i];
	}
	return 0;
}
2023/7/24 18:40
加载中...