专栏文章

题解:P13670 [GCPC 2023] Eszett

P13670题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miofip2g
此快照首次捕获于
2025/12/02 18:22
3 个月前
此快照最后确认于
2025/12/02 18:22
3 个月前
查看原文

洛谷 P13670 [GCPC 2023] Eszett 题解


题目传送门

思路:

可以先把大写字母字符串 ss 全部换成小写并输出(这是一种可能性),再从里面找到子串 ss 把它换成大写字母 B 再输出,直到找不到为止。

算法:

可以使用 string 库里的 find 函数,找不到 ss 会返回 1-1,找到会返回位置。
输出可以先输出 ss 前面的一段,后输出大写字母 B,最后输出 ss 后面的一段。

组合成代码:

CPP
#include<bits/stdc++.h>
using namespace std; 
int main()
{
	string s;
	cin>>s;
	for(int i=0;i<s.length();i++)
	{
		s[i]+=32;//换成小写
	}
	cout<<s<<endl;//先输出一种情况
	int pos=s.find("ss");
	while(pos!=-1)//找不到时退出
	{
		for(int i=0;i<=pos-1;i++)
		{
			cout<<s[i];//前面一段
		}
		cout<<"B";
		for(int i=pos+2;i<a.length();i++)
		{
			cout<<s[i];//后面一段
		}
		pos=s.find("ss",pos+1);
		cout<<endl;
	}
	return 0; 
} 

评论

0 条评论,欢迎与作者交流。

正在加载评论...