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 Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段
Codeforces 86C Genetic engineering(AC自动机+DP)