70分,求解,给关注
查看原帖
70分,求解,给关注
1248813
_ByTT_楼主2024/5/21 17:32
#include <bits/stdc++.h>
using namespace std;
bool wc(char s1,char s2){
	if(s1<='9'&&s1>='0'){
		if(s2<='9'&&s2>='0'){
			return 1;
		}
	}else if(s1<='z'&&s1>='a'){
		if(s2<='z'&&s2>='a'){
			return 1;
		}
	}
	return 0;
}
int main(){
	int a,b,c,aa=0,bb=0;cin>>a>>b>>c;
	string s;cin>>s;
	for(int i=0;i<s.length();i++){
		if(s[i+1]=='-'){
			if(s[i]<s[i+2]){
				if(wc(s[i],s[i+2])==0){
					if(bb==0) cout<<s[i];
					bb=1;continue;
				}
				if(a==1||(s[i]<='9'&&s[i]>='0')){
					if(c==1){
						char ans=s[i];ans++;
						if(aa==0){
							cout<<s[i];
						}
						while(ans<s[i+2]){
							for(int i=1;i<=b;i++)cout<<ans;
							ans++;
						}
						cout<<s[i+2];i++;
						if(s[i+2]=='-'){
							if(s[i+1]>=s[i+3]||wc(s[i+1],s[i+3])==0) i++;
							aa=1;bb=1;
						}else{
							i++;aa=0;bb=0;
						}
					}else{
						char ans=s[i+2];ans--;
						if(aa==0){
							cout<<s[i];
						}
						while(ans>s[i]){
							for(int i=1;i<=b;i++)cout<<ans;
							ans--;
						}
						cout<<s[i+2];i++;
						if(s[i+2]=='-'){
							if(s[i+1]>=s[i+3]||wc(s[i+1],s[i+3])==0) i++;
							aa=1;bb=1;
						}else{
							i++;aa=0;bb=0;
						}
					}
				}else{
					if(c==1){
						char ans=s[i];ans++;
						if(aa==0){
							cout<<s[i];
						}
						while(ans<s[i+2]){
							for(int i=1;i<=b;i++)cout<<char(ans-'a'+'A');
							ans++;
						}
						cout<<s[i+2];i++;
						if(s[i+2]=='-'){
							if(s[i+1]>=s[i+3]||wc(s[i+1],s[i+3])==0) i++;
							aa=1;bb=1;
						}else{
							i++;aa=0;bb=0;
						}
					}else{
						char ans=s[i+2];ans--;
						if(aa==0){
							cout<<s[i];
						}
						while(ans>s[i]){
							for(int i=1;i<=b;i++) cout<<char(ans-'a'+'A');
							ans--;
						}
						cout<<s[i+2];i++;
						if(s[i+2]=='-'){
							if(s[i+1]>=s[i+3]||wc(s[i+1],s[i+3])==0) i++;
							aa=1;bb=1;
						}else{
							i++;aa=0;bb=0;
						}
					}
				}
			}else{
				cout<<s[i]<<s[i+1]<<s[i+2];i++;
				if(s[i+2]=='-'){
					if(s[i+1]>=s[i+3]&&wc(s[i+1],s[i+3])==0) i++;
					aa=1;bb=1;
				}else{
					i++;aa=0;bb=0;
				}
			}
		}else{
			cout<<s[i];
		}
	}
	return 0;
}
/*
--09-8-w-er-7h-08w-e7-hcQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIHHHHHHHHGGGGGGGGFFFFFFFFEEEEEEEEDDDDDDDDr890-q7w-ehQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIrc98-07-q -ewr-8h-c-8-2945-dsf--k-h- 3333333348-3k-hRRRRRRRRQQQQQQQQPPPPPPPPOOOOOOOONNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKJJJJJJJJIIIIIIIIsdEEEEEEEEfq-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-
*/
2024/5/21 17:32
加载中...