80pts,求助,#6#7wa
查看原帖
80pts,求助,#6#7wa
907430
corner_xiejunqi楼主2024/10/3 19:59

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string a;
string b[1010];
int k=1;
int main(){
	//1、声明变量,输入
	cin>>p1>>p2>>p3>>a;
	int len=a.size();
	for(int i=0;i<len;i++){
		if(a[i]=='-'){
			if(i==0){
				b[k]+='-';
				k++;
				continue;
			}
			char a1=a[i-1];
			char a2=a[i+1];
			if(p1==1){
				if('a'<=a1 && a1<='z' && '0'<=a2 && a2<='9' || 'a'<=a1 && a1<='z' && 'A'<=a2 && a2<='Z' ||'A'<=a1 && a1<='Z' && '0'<=a2 && a2<='9' ||'A'<=a1 && a1<='Z' && 'a'<=a2 && a2<='z' ||'0'<=a1 && a1<='9' && 'a'<=a2 && a2<='z'||'0'<=a1 && a1<='9' && 'A'<=a2 && a2<='Z'||a1==a2 || a1>a2){
					b[k]+='-';
					k++;
					continue;
				}
				if('a'<=a1 && a1<='z'){
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=j;
					}
					k++;
				}else if('A'<=a1 && a1<='Z'){
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=(j+32);
					}
					k++;
				}else{
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=j;
					}
					k++;
				}
			}else if(p1==2){
				if('a'<=a1 && a1<='z' && '0'<=a2 && a2<='9' || 'a'<=a1 && a1<='z' && 'A'<=a2 && a2<='Z' ||'A'<=a1 && a1<='Z' && '0'<=a2 && a2<='9' ||'A'<=a1 && a1<='Z' && 'a'<=a2 && a2<='z' ||'0'<=a1 && a1<='9' && 'a'<=a2 && a2<='z'||'0'<=a1 && a1<='9' && 'A'<=a2 && a2<='Z' || a1==a2||a1>a2){
					b[k]+='-';
					k++;
					continue;
				}
				if('a'<=a1 && a1<='z'){
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=(j-32);
					}
					k++;
				}else if('A'<=a1 && a1<='Z'){
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=j;
					}
					k++;
				}else{
					for(char j=a1+1;j<=a2-1;j++){
						b[k]+=j;
					}
					k++;
				}
			}else{
				if('a'<=a1 && a1<='z' && '0'<=a2 && a2<='9' || 'a'<=a1 && a1<='z' && 'A'<=a2 && a2<='Z' ||'A'<=a1 && a1<='Z' && '0'<=a2 && a2<='9' ||'A'<=a1 && a1<='Z' && 'a'<=a2 && a2<='z' ||'0'<=a1 && a1<='9' && 'a'<=a2 && a2<='z'||'0'<=a1 && a1<='9' && 'A'<=a2 && a2<='Z' ||a1==a2 ||a1>a2){
					b[k]+='-';
					k++;
					continue;
				}
				for(char j=a1+1;j<=a2-1;j++){
					b[k]+='*';
				}
				k++;
			}
		}
	}
	//2、计算过程
	if(p3==1){
		int k1=1;
		for(int i=0;i<len;i++){
			if(a[i]=='-'){
				if(b[k1]=="-"){
					cout<<'-';
					k1++;
					continue;
				}
				for(int j=0;j<b[k1].size();j++){
					for(int z=1;z<=p2;z++){
						cout<<b[k1][j];
					}
				}
				k1++;
			}else{
				cout<<a[i];
			}
		}
	}else{
		int k1=1;
		for(int i=0;i<len;i++){
			if(a[i]=='-'){
				if(b[k1]=="-"){
					cout<<'-';
					k1++;
					continue;
				}
				for(int j=b[k1].size()-1;j>=0;j--){
					for(int z=1;z<=p2;z++){
						cout<<b[k1][j];
					}
				}
				k1++;
			}else{
				cout<<a[i];
			}
		}
	}
	//3、输出
	
	return 0;
}
2024/10/3 19:59
加载中...