天天看點

你猜這是什麼題

​​傳送門​​​ 題目描述

一段來自神奇天書的文字由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]];
  }
}