您的位置:首页 > 其它

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

2016-05-29 12:07 399 查看
题意:一个字符串,做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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: