题意:
把字符串变换,每次调换一组;
题解:
模拟必超时,换个思路,每次都换,那我只要存每个字母最后变成什么就行;具体看代码
代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
char f1[27],f2[27],a,b;
string s;
int main()
{
cin>>n>>m;
cin>>s;
for(int i=0;i<26;i++)
f1[i]=i+'a';
while(m--)
{
cin>>a>>b;
swap(f1[a-'a'],f1[b-'a']);//交换交换字母的值
}
for(int i=0;i<26;i++)
f2[f1[i]-'a']=i+'a';//替换
for(int i=0;i<n;i++)
printf("%c",f2[s[i]-'a']);//输出
return 0;//完美的结束
}