一天,摇摇很荣幸地来到了纳米星球。可他发现一种奇怪的文字——纳米文,就研究起来了。经过不懈的努力,摇摇终于发现改怎么把纳米文转换成地球的文字了:纳米文是一串字符,然后按照下面有一个数字n,然后有n条命令,每条命令有1个或2个字符。如果只有1个字符,就把字符串中的所有这个字符去掉。如果有2个字符,就是把字符串中的所有第一个字符换成那第二个字符。现在摇摇给你纳米文,请把它转成地球文。
输入格式
输入数据共n+2行,第1行:一个字符串。
第2行,一个正整数n。
第3到n+2行,共n行命令字符。
输出格式
输出数据仅1行,即转换后的地球文。
输入/输出例子1
输入:
g31a1333g3ccl11t13hhg
7
z
1
h
c p
t e
g
3
输出:
apple
样例解释
g31a1333g3ccl11t13hhg
7
z {去掉所有的“z”}
1 {去掉所有的“1”}
h {去掉所有的“h”}
c p {把所有的“c”换成“p”}
t e {把所有的“t”换成“e”}
g {去掉所有的“g”}
3 {去掉所有的“3”}
代码:
#include<bits/stdc++.h>
using namespace std;
string s,k,p;
int n,k_len,s_len;
int main(){
getline(cin,s);
cin>>n;
getline(cin,p);
for(int i=1;i<=n;i++)
{
getline(cin,k);
k_len=k.size();
s_len=s.size();
if(k_len<=1)
{
for(int j=0;j<s_len;j++)
{
if(s[j]==k[0])
{
s.erase(j,1);
j--;
}
}
}
else
{
for(int j=0;j<s_len;j++)
{
if(s[j]==k[0])
s[j]=k[2];
}
}
}
cout<<s<<endl;
return 0;
}
自己做的,仅供参考