90分求助,样例7MLE,不知哪错
查看原帖
90分求助,样例7MLE,不知哪错
1192766
haobao123456楼主2024/8/25 12:50
#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string s;
int main(){
	cin>>p1>>p2>>p3;
	cin>>s;
	string ans="";
	for(int i=0;i<s.size();i++){
		if((s[i]>='a'&&s[i]<='z')||(s[i]>='0'&&s[i]<='9')){
			ans+=s[i];
		}else if(s[i]=='-'&&i!=0&&i!=s.size()-1){
			if((s[i-1]>='0'&&s[i-1]<='9'&&s[i+1]>='a'&&s[i+1]<='z')||(s[i-1]>='a'&&s[i-1]<='z'&&s[i+1]>='0'&&s[i+1]<='9')){
				ans+='-';
				ans+=s[i+1];
				i++;
			}else if((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')){
				if(s[i+1]-s[i-1]==1){
					ans+=s[i+1];
					i++;
				}else if(s[i+1]<=s[i-1]){
					ans+='-';
					ans+=s[i+1];
					i++;
				}else if(s[i-1]>='a'&&s[i-1]<='z'&&s[i+1]>='a'&&s[i+1]<='z'){
					if(p1==1){
						if(p3==1){
							for(int j=s[i-1]+1;j<=s[i+1]-1;j++){
								for(int k=1;k<=p2;k++){
									ans+=(char)j;
								}
							}
							ans+=s[i+1];
						}else{
							for(int j=s[i+1]-1;j>=s[i-1]+1;j--){
								for(int k=1;k<=p2;k++){
									ans+=(char)j;
								}
							}
							ans+=s[i+1];
						}
					}else if(p1==2){
						if(p3==1){
							for(int j=s[i-1]+1;j<=s[i+1]-1;j++){
								for(int k=1;k<=p2;k++){
									ans+=(char)j-32;
								}
							}
							ans+=s[i+1];
						}else{
							for(int j=s[i+1]-1;j>=s[i-1]+1;j--){
								for(int k=1;k<=p2;k++){
									ans+=(char)j-32;
								}
							}
							ans+=s[i+1];
						}
					}else if(p1==3){
						int sum=(s[i+1]-s[i-1]-1)*p2;
						for(int i=1;i<=sum;i++){
							ans+='*';
						}
						ans+=s[i+1];
					}
					i++;
				}else if(s[i-1]>='0'&&s[i-1]<='9'&&s[i+1]>='0'&&s[i+1]<='9'){
					if(p1==3){
						int sum=(s[i+1]-s[i-1]-1)*p2;
						for(int i=1;i<=sum;i++){
							ans+='*';
						}
						ans+=s[i+1];
					}else{
						if(p3==1){
							for(int j=s[i-1]+1;j<=s[i+1]-1;j++){
								for(int k=1;k<=p2;k++){
									ans+=(char)j;
								}
							}
						}else{
							for(int j=s[i+1]-1;i>=s[i-1]+1;j++){
								for(int k=1;k<=p2;k++){
									ans+=(char)j;
								}
							}
						}
						ans+=s[i+1];
					}
					i++;
				}
			}
		}else if(s[i]=='-'){
			cout<<s[i];
		}
	}
	cout<<ans;
	return 0;
} 
# ```
2024/8/25 12:50
加载中...