求大佬给更优解
查看原帖
求大佬给更优解
1053240
Liu_Zi_Xiao楼主2024/5/7 12:56

求大佬给更优解

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	int p1,p2,p3;
	cin>>p1>>p2>>p3;
	cin>>s;
	for(int i=0;i<s.size();++i){
		if(s[i]=='-' && s[i-1]<s[i+1] &&( ( ( s[i-1]>='a' && s[i-1]<='z' ) && ( s[i+1]>='a' && s[i+1]<='z' ) ) || ( ( s[i-1]>='0' && s[i-1]<='9' ) && ( s[i+1]>='0' && s[i+1]<='9' ) ))){
			s.erase(i,1);
			string x="";
			for(char j=s[i-1]+1;j<s[i];++j){
				for(int k=0;k<p2;++k){
					if(p1==1 || (p1==2 && j>='0' && j<='9') ) x+=j;
					else if(p1==2 && j>='a' && j<='z') x+=j-32;
					else if(p1==3) x+='*';
				}
			}
			if(p3==2) reverse(x.begin(),x.end());
			s.insert(i,x);
		}
	}
	cout<<s;
	return 0;
}

2024/5/7 12:56
加载中...