p1098 70分求助
  • 板块学术版
  • 楼主qiang2013
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/27 21:09
  • 上次更新2023/11/2 11:10:37
查看原帖
p1098 70分求助
758242
qiang2013楼主2023/10/27 21:09
#include<bits/stdc++.h>
using namespace std;
int main(){
	int p3,p1,p2;
	cin>>p1>>p2>>p3;
	string s;
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]=='-'&&(i==0||i==s.size()-1)){
			cout<<'-';
			continue;
		}
		if(s[i]=='-'){
			if((isdigit(s[i-1])&&islower(s[i+1]))||(islower(s[i-1])&&isdigit(s[i+1]))||(isdigit(s[i-1])&&s[i+1]=='-')||(islower(s[i-1])&&s[i+1]=='-')||(isdigit(s[i+1])&&s[i-1]=='-')||(islower(s[i+1])&&s[i-1]=='-')||(s[i-1]=='-'&&s[i+1]=='-')){
				cout<<"-";
				continue;
			}
			if(s[i-1]>=s[i+1]){
				cout<<s[i];
				continue;
			}
			if(p1==1){
				if(p3==1){
					for(int k=int(s[i-1])+1;k<=int(s[i+1])-1;k++){
						for(int j=1;j<=p2;j++){
							cout<<char(k);
						}
					}
				}
				else{
					for(int k=int(s[i+1])-1;k>=int(s[i-1])+1;k--){
						for(int j=1;j<=p2;j++){
							cout<<char(k);
						}
					}
				}
			}
			else if(p1==2){
				if(p3==1){
					for(int k=int(s[i-1])+1;k<=int(s[i+1])-1;k++){
						for(int j=1;j<=p2;j++){
							cout<<char(k-32);
						}
					}
				}
				else{
					for(int k=int(s[i+1])-1;k>=int(s[i-1])+1;k--){
						for(int j=1;j<=p2;j++){
							cout<<char(k-32);
						}
					}
				}
			}
			else{
				for(int i=s[i-1]+1;i<s[i+1];i++){
					cout<<"*";
				}
			}
		}
		else cout<<s[i];
	}
	return 0;
}

p1098//70分求助

2023/10/27 21:09
加载中...