傳送門 題目描述
一段來自神奇天書的文字由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]];
}
}