10pts
  • 板块灌水区
  • 楼主Charlie_Nine
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/7 17:40
  • 上次更新2024/12/7 20:49:04
查看原帖
10pts
1349424
Charlie_Nine楼主2024/12/7 17:40

p1098

#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
bool function1(char c){//是否是数字
	return c>='0'&&c<='9';
}
char function2(char c){//转大写字母
	if(c>='a'&&c<='z'){
		return c-32;
	}
	return c;
}
char function3(char c){//转小写字母
	if(c>='A'&&c<='Z'){
		return c+32;
	}
	return c;
}
bool function4(char c){//判断大(0)小写(1)字母
	return c>='a'&&c<='z';
}
string s,ans;
string dar(char a1,int gs){//gs个a1
	string jh="";
	while(gs--){
		jh+=a1;
	}
	return jh;
}
string ds(char a1,char a2){
	string hj="";
	hj+=a1;
	if(a1==a2){
		hj+="-";
	}else if(function1(a1)!=function1(a2)){
		hj+="-";
	}else if(p1==1){
		if(p3==1){
			for(char d=function3(a1)+1;d<=function3(a2)-1;d++){
				hj+=dar(d,p2);
			}
		}else{
			for(char d=function3(a2)+1;d>=function3(a1)-1;d--){
				hj+=dar(d,p2);
			}
		}
	}else if(p1==2){
		if(p3==1){
			for(char d=function4(a1)+1;d<=function4(a2)-1;d++){
				hj+=dar(d,p2);
			}
		}else{
			for(char d=function4(a2)+1;d>=function4(a1)-1;d--){
				hj+=dar(d,p2);
			}
		}
	}else if(p1==3){
		hj+=dar('*',p2);
	}
	return hj;
}
int main(){
	cin>>p1>>p2>>p3>>s;
	for(int i=0;i<s.size();i++){
		if(s[i+1]!='-'&&(i+1)!=0&&(i+1)!=s.size()){
			ans+=s[i];
		}else{
			ans+=ds(s[i],s[i+2]);
			i++;
		}
	}
	cout<<ans;
	return 0;
}
2024/12/7 17:40
加载中...