随笔—邀请赛前训—Codeforces Round #327 (Div. 2) Rebranding

Posted Shawn_Ji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随笔—邀请赛前训—Codeforces Round #327 (Div. 2) Rebranding相关的知识,希望对你有一定的参考价值。

题意:一个字符串,做n次变换,每次变换是把a字符与b字符全部调换。求全部调换完成后的字符串。

 

这道题目我一开始理解错意思了,理解成将所有a字符变成b字符,我觉得这样出貌似还更有挑战性一点。。口亨

 

#include<cstdio>
#include<cstring>
#include<map>
#include<iostream>

using namespace std;

#define  MAX(x,y) (((x)>(y)) ? (x) : (y))
#define  MIN(x,y) (((x) < (y)) ? (x) : (y))
#define ABS(x) ((x)>0?(x):-(x))

const int inf = 0x7fffffff;
char src[200000];

map <char,char> p;

int main()
{
    for(char i=a; i<=122; i++){
        p[i]=i;
    }
    

    char left,right;
    int n, m;
    cin>>n>>m;
    cin>>src;
    getchar();
    char x,y;
    for(int j=0;j<m;j++){
        scanf("%c %c",&left,&right);
        getchar();
        for(char i=a; i<=122; i++){
            if(p[i]==left)
                x=i;                //找到目前是left的
            if(p[i]==right)
                y=i;                //找到目前是right的
        }
        p[x]=right;
        p[y]=left;
    }
    for(int i=0; src[i]; i++){
        cout<<p[ src[i] ];
    }


   // for(char i=‘a‘; i<=122; i++){
   //     cout<<p[i];
   // }
    return 0;
}

 

以上是关于随笔—邀请赛前训—Codeforces Round #327 (Div. 2) Rebranding的主要内容,如果未能解决你的问题,请参考以下文章

随笔—邀请赛前训— Codeforces Round #330 (Div. 2) Vitaly and Night

随笔—邀请赛前训—Codeforces Round #330 (Div. 2) B题

随笔—邀请赛前训—Wizards' Duel

随笔—邀请赛前训—Duff and Weight Lifting

随笔—邀请赛前练— Codeforces Round #329 (Div. 2) 2Char

随笔—邀请赛前练—CodeForces 588B