70pts,qwq玄关
  • 板块灌水区
  • 楼主albk_shbgp
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/30 22:31
  • 上次更新2023/12/30 22:31:38
查看原帖
70pts,qwq玄关
1251769
albk_shbgp楼主2023/12/30 22:31
#include<bits/stdc++.h>
using namespace std;
string s,tmp;
int p1,p2,p3;
int main(){
	int i,k;
	char j;
	cin>>p1>>p2>>p3;
	cin>>s;
	for(i=0;i<s.size();i++){
		if(s[i]=='-'){
			if((s[i-1]>='0'&&s[i-1]<='9'&&s[i+1]>='0'&&s[i+1]<='9')||(s[i-1]>='a'&&s[i-1]<='z'&&s[i+1]>='a'&&s[i+1]<='z')){
                if(s[i+1]-s[i-1]==1){  //'-'两侧如果是ascii相邻的字符,且是升序 
					continue;
				}
				else if(s[i+1]<=s[i-1]){
					continue;
				}else if(s[i+1]-s[i-1]>1){
					tmp.clear();
					if(p3==1){
						for(j=s[i-1]+1;j<s[i+1];j++){
							for(k=1;k<=p2;k++){
								if(j>='0'&&j<='9'&&p1==2){
									tmp=tmp+j;
								}else if(p1==1){
									tmp=tmp+j;
								}else if(p1==2){
									tmp=tmp+char(j-32);
								}else if(p1==3){
									tmp=tmp+'*';
								}	
							}
						}
						s.erase(i,1);
						s.insert(i,tmp); 
					}
					if(p3==2){
						for(j=s[i+1]-1;j>s[i-1];j--){ 
							for(k=1;k<=p2;k++){
								if(j>='0'&&j<='9'&&p1==2){
									tmp=tmp+j;
								}else if(p1==1){
									tmp=tmp+j;
								}else if(p1==2){
									tmp=tmp+char(j-32);
								}else if(p1==3){
									tmp=tmp+'*';
								}
							}
						}
						s.erase(i,1);
						s.insert(i,tmp);
					}
				}
			}	
		}
	}
	cout<<s;
    return 0;
}

在线等,急!

2023/12/30 22:31
加载中...