CodeForces 591B

Posted 猫哥小俊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces 591B相关的知识,希望对你有一定的参考价值。

题意:给你一个长度为n的字符串,m条规则,规则是将字符串中x变为y,将y变为x,输出m次变换后的字符串。

题解:字符串全是小写字母组成,最多有26中字符,将这26种字符的变换处理出来,就可直接输出走后的答案。

#include <iostream>
#include <map>
#include <cstdio>
#include <cstring>
using namespace std;

char z[]="abcdefghijklmnopqrstuvwxyz";

int main()
{
    int n,m;
    char s[200005];
    scanf("%d%d%s",&n,&m,s);
    getchar();
    char c[5];
    while(m--)
    {
        gets(c);
        int pa,pb;
        for(int i=0;i<26;i++)
        {
            if(z[i]==c[0]) pa=i;
            if(z[i]==c[2]) pb=i;
        }
        z[pa]=c[2];
        z[pb]=c[0];
    }
    for(int i=0;i<n;i++)
        printf("%c",z[s[i]-a]);
    printf("\n");
    return 0;
}

 

以上是关于CodeForces 591B的主要内容,如果未能解决你的问题,请参考以下文章

CodeForces 591B

[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段

c_cpp Codeforces片段

Codeforces 86C Genetic engineering(AC自动机+DP)

CodeForces 1005D Polycarp and Div 3(思维贪心dp)

(Incomplete) Codeforces 394 (Div 2 only)