大佬救救孩子吧
查看原帖
大佬救救孩子吧
565301
steven_sork楼主2023/2/2 08:39

代码如下

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string a;
int main(){
	cin>>p1>>p2>>p3>>a;
	int len=a.length();
	cout<<a[0];
	for(int i=1;i<len;i++){
		if(a[i]=='-'&&a[i-1]<a[i+1]){
			string b="";
			if(a[i-1]>='0'&&a[i-1]<='9'&&a[i+1]>='0'&&a[i+1]<='9'){
				for(char i=a[i-1]+1;i<a[i+1];i++){
					char c=i;
					if(p1==3)c='*';
					for(int k=0;k<p2;k++){
						b+=c;
					}
				}
				if(p3==2){
					reverse(b.begin(),b.end());
				}
				cout<<b;
			}else if(a[i-1]>='A'&&a[i-1]<='Z'&&a[i+1]>='A'&&a[i+1]<='Z'){
				for(char i=a[i-1]+1;i<a[i+1];i++){
					char c=i;
					if(p1==3)c='*';
					else if(p1==1)c+=32;
					for(int k=0;k<p2;k++){
						b+=c;
					}
				}
				if(p3==2){
					reverse(b.begin(),b.end());
				}
				cout<<b;
			}else if(a[i-1]>='a'&&a[i-1]<='z'&&a[i+1]>='a'&&a[i+1]<='z'){
				for(char i=a[i-1]+1;i<a[i+1];i++){
					char c=i;
					if(p1==3)c='*';
					else if(p1==2)c-=32;
					for(int k=0;k<p2;k++){
						b+=c;
					}
				}
				if(p3==2){
					reverse(b.begin(),b.end());
				}
				cout<<b;
			}else{
				cout<<'-';
			}
		}else{
			cout<<a[i];
		}
	}
	return 0;
}
2023/2/2 08:39
加载中...