专栏文章
题解:P13670 [GCPC 2023] Eszett
P13670题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miofx9ck
- 此快照首次捕获于
- 2025/12/02 18:33 3 个月前
- 此快照最后确认于
- 2025/12/02 18:33 3 个月前
题意
给你一个字符串,首先需要将字符串转换为小写并输出。
接下来,你要对于转换后字符串中未更改过的
ss 更改为 B,每改完一次就输出,并恢复到原来的小写字符串。做法
直接模拟即可,对于每次的
ss 如果未更改过,就更改并打上记号,避免重复。AC code
CPP#include<bits/stdc++.h>
using namespace std;
string s;
int vis[1000004];
signed main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]<='Z'&&s[i]>='A') {
s[i]=s[i]-'A'+'a';
}
cout<<s[i];
}
cout<<endl;
while(1){
bool flag=0;
int x;
for(int i=0;i<s.size();i++){
if(i<s.size()-1&&s[i]=='s'&&s[i+1]=='s'&&!vis[i]){
vis[i]=1;
x=i;
flag=1;
i++;
}
}
if(flag){
for(int i=0;i<s.size();i++){
if(i==x)
cout<<"B";
i++;
}
else{
cout<<s[i];
}
}
cout<<"\n";
}
else break;
}
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...