#5#7求助
查看原帖
#5#7求助
1192776
Im_Joker楼主2023/12/5 20:05
#include<bits/stdc++.h>
using namespace std;
int main(){
	int p1,p2,w,p3;
	char a[10001];
	cin>>p1>>p2>>p3;
	scanf("%s",a);
	bool flag;
	int end;
	for(int i=strlen(a)-1;i>=0;i--){
	    if(a[i]!='-'){
	        end=i;
	        break;
	    }
	}
	for(int i=0;i<=end;i++){
		if(a[i]=='-'&&!flag){
			continue;
		}
		if(a[i]!='-'){
			flag=true;
		}
		if(a[i]=='-'&&flag){
			if((a[i-1]<'a'&&a[i+1]>'a')||(a[i-1]<'A'&&a[i+1]>'A')){
				cout<<"-";
			}
			else if(a[i-1]>=a[i+1]){
				cout<<"-";
			}else{
				if(p1==1){
					if(p3==1){
						for(char c=a[i-1]+1;c<=a[i+1]-1;c++){
							for(int i=1;i<=p2;i++){
								if(c<='Z'&&c>='A'){
									cout<<char(c+32);
								}else{
									cout<<c;
								}
							}
						}
					}else{
						for(char c=a[i+1]-1;c>=a[i-1]+1;c--){
							for(int i=1;i<=p2;i++){
								if(c<='z'&&c>='a'){
									cout<<char(c-32);
								}else{
									cout<<c;
								}								
							}
						}
					}
				}else if(p1==2){
					if(p3==1){
						for(char c=a[i-1]+1;c<=a[i+1]-1;c++){
							for(int i=1;i<=p2;i++){
								if(c<='z'&&c>='a'){
									cout<<char(c-32);
								}else{
									cout<<c;
								}
							}
						}
					}else{
						for(char c=a[i+1]-1;c>=a[i-1]+1;c--){
							for(int i=1;i<=p2;i++){
								if(c<='z'&&c>='a'){
									cout<<char(c-32);
								}else{
									cout<<c;
								}								
							}
						}
					}					
				}else{
					for(int j=1;j<=(a[i+1]-a[i-1]-1)*p2;j++){
						cout<<"*";
					}
				}
			}
		}else{
			cout<<a[i];
		}
	}
	return 0;
}
2023/12/5 20:05
加载中...