题意:给你一串字符串,让后操作N次,每次按要求,把一个字符转换成另一个字符,然后输出结果。
分析:因为题中只有26个小写字母,所以,每次输入,都按要求把一个字符转换成另一个字符,然后输出即可
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxm=1e6;
char s[maxm];
int a[36];
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
scanf("%s",s);
for(int i=0;i<26;i++)
{
a[i]=i;
}
while(n--)
{
char x[2],y[2];
scanf("%s%s",x,y);
for(int i=0;i<26;i++)
{
if(a[i]==x[0]-'a')
{
a[i]=y[0]-'a';
}
else if(a[i]==y[0]-'a')
{
a[i]=x[0]-'a';
}
}
}
for(int i=0;i<m;i++)
{
printf("%c",a[s[i]-'a']+'a');
}
printf("\n");
}
return 0;
}