传送门 题目描述
一段来自神奇天书的文字由n个小写英文字母组成。经过多年传承,这里面藏有许多的暗语,只有解出来,你才能看到真正的文字。看到它使你快乐,不可能的!
已知,共有m名大师参与修订。到第ii名大师之手后,他立即同其他人一样做出了如下修改:他采用了天书的最新版本,并用xx替代所有的y,y替代x,这样就产生了新版本。这些字母中的某些字母可能不会出现在字符串中。 x也可能与y一致。最后一位大师工作替换后的天书即为最新版本。
你迫不及待的想要看懂天书,以助你得到质的飞跃,但是你只有最初版本的天书以及替换过程,于是你开始从最初版本开始替换,试图得出最终版本。
输入格式
输入的第一行包含两个整数n和m
分别是名字的长度和暗语修订次数。
第二行由n个小写英文字母组成,代表原始版本。
输出格式
#include<bits/stdc++.h>
using namespace std;
#define ll long long
map<char,char>vis;
int main()
{
int n,m;
cin>>n>>m;
string a;
cin>>a;
for(char i = 'a'; i <= 'z'; i++) vis[i] = i;
while(m--)
{
char x,y;
cin>>x>>y;
if(x == y) continue;
for(char i = 'a'; i <= 'z'; i++)
{
if(x == vis[i])
{
vis[i] = y;
}
else if(y == vis[i])
{
vis[i] = x;
}
}
}
int len = a.size();
for(int i = 0; i < len; i++)
{
cout<<vis[a[i]];
}
}