社区讨论
P1098求条(玄关 )
题目总版参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhjrhk52
- 此快照首次捕获于
- 2025/11/04 07:18 4 个月前
- 此快照最后确认于
- 2025/11/04 07:18 4 个月前
Code
CPP#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string c;
string ans;
string solve(char l,char r){
string res="";
if(r-l==1){
return res;
}
if(r<=l||(l>='a'&&l<='z'&&r>='0'&&r<='9')||(r>='a'&&r<='z'&&l>='0'&&l<='9')){
return "-";
}
if(p1==3){
for(int i=l;i<r-1;i++){
char k='*';
for(int j=1;j<=p2;j++){
res+=k;
}
}
}
else{
if(l>='a'&&l<='z'){
for(int i=l-'a'+1;i<=r-'a'-1;i++){
char k=i+'a';
if(p1==2){
k=k-('a'-'A');
}
for(int j=1;j<=p2;j++){
res+=k;
}
}
}
else if(l>='0'&&l<='9'){
for(int i=l-'0'+1;i<=r-'0'-1;i++){
char k=i+'0';
for(int j=1;j<=p2;j++){
res+=k;
}
}
}
}
if(p3==2){
for(int i=0;i<res.size()/2;i++){
swap(res[i],res[res.size()-1-i]);
}
}
return res;
}
int main(){
cin>>p1>>p2>>p3;
cin>>c;
if(c[0]=='-'){
cout<<'-';
for(int i=1;i<c.size();i++){
if(c[i]!='-'){
ans+=c[i];
}
else{
string s=solve(c[i-1],c[i+1]);
ans+=s;
}
}
cout<<ans;
return 0;
}
for(int i=0;i<c.size();i++){
if(c[i]!='-'){
ans+=c[i];
}
else{
string s=solve(c[i-1],c[i+1]);
ans+=s;
}
}
cout<<ans;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...