字符串合并
程序员文章站
2022-07-13 17:31:20
...
链接:https://www.nowcoder.com/acm/contest/74/A
来源:牛客网
来源:牛客网
吐泡泡
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o"。
两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。
(是的你没看错,小气泡和大气泡不会产生任何变化的,原因我也不知道。)
例如:ooOOoooO经过一段时间以后会变成oO。
输入描述:
数据有多组,处理到文件结束。 每组输入包含一行仅有'O'与'o'组成的字符串。
输出描述:
每组输出仅包含一行,输出一行字符串代表小鱼儿吐出的泡泡经过融合以后所剩余的泡泡。
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c[201];
while(memset(c,0,sizeof(c)),cin>>c){
int l=strlen(c);
for (int x=0;x<=100;x++)
for (int i=0;i<l;i++){
if (c[i]=='o'&&c[i+1]=='o') {c[i]='O';for (int j=i+1;j<l;j++) c[j]=c[j+1];l--;break;}
if (c[i]=='O'&&c[i+1]=='O') {for (int j=i;j<l-1;j++) c[j]=c[j+2];l--;break;}
}
cout<<c<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
string a,b,c,s;
while
(cin>>a)
{
int
i;
for
(i=1;i<a.size();i++)
{
if
(a[i]==
'o'
&&a[i-1]==a[i])
{
a.replace(i-1,2,
"O"
);
i=i-2;
}
if
(a[i]==
'O'
&&a[i-1]==
'O'
)
{
a.erase(i-1,2);
i=i-2;
}
}
cout<<a<<endl;
}
}
上一篇: 探索数组与字符串
下一篇: 724.寻找数组的中心索引