CF #591 Div2 B.Rebranding(数组记录字母变化)
来源:互联网 发布:软件研发的特点 编辑:程序博客网 时间:2024/06/15 03:44
题目链接:
CF #591 Div2 B.Rebranding
题意:
将字符串中的字母进行若干次的替换,输出最终的字符串。
例如:将长度为6的字符串police进行一次(m,p)替换可得到molice.
分析:
这题和 BC #81 B Matrix 类似。
用real数组记录每个字母改变为何种字母。
初始时real[i]即是i(字母a对应0,字母b对应1…依此类推)
每次改变时需要从real数组中查找到相应的字母,进行替换。
例如此时
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <climits>#include <cmath>#include <ctime>#include <cassert>using namespace std;const int MAX_N=200010;int n,m;char s[MAX_N];int real[30];int main(){ //freopen("Bin.txt","r",stdin); while(~scanf("%d%d",&n,&m)){ scanf("%s",s); for(int i=0;i<30;i++) real[i]=i; for(int i=0;i<m;i++){ char a[5],b[5]; scanf("%s%s",a,b); for(int j=0;j<30;j++){ if(real[j]==a[0]-'a') { real[j]=b[0]-'a'; }else if(real[j]==b[0]-'a') { real[j]=a[0]-'a'; } } } for(int i=0;i<n;i++){ printf("%c",real[s[i]-'a']+'a'); } printf("\n"); } return 0;}
0 0
- CF #591 Div2 B.Rebranding(数组记录字母变化)
- cf 591B Rebranding
- CF 591B Rebranding
- BC #81 Div2 B Matrix(数组记录矩阵变化)
- codeforces round#237,div2,B,Rebranding(模拟)
- CF 170(div2)B
- coderforce 591B Rebranding
- CodeForces-591B Rebranding
- Codeforces 591 B:Rebranding
- codeforces 591B Rebranding
- Codeforces 591B Rebranding
- cordeforce 591 B. Rebranding
- Codeforces 591B Rebranding
- Codeforces 591B Rebranding
- cf #327 Div.2 Problem B Rebranding
- cf 131 DIV2 B
- CF 173(div2) B
- CF 131 div2 B
- 关于改善js语言编程质量的个人小结之减少全局变量污染
- JS中的this、apply、call
- Java基础(十),流
- Unity序列化和持久化
- pcduino上用opencv的能出现的问题+解决方案
- CF #591 Div2 B.Rebranding(数组记录字母变化)
- FudionCharts简单学习记录
- 重装WIN7操作系统详细步骤
- SGU 101 && POJ 1041 欧拉路径/欧拉回路
- Android控件之ListView(一)
- leetcode-242. Valid Anagram
- Spring学习
- Android中Intent组件详解
- eclipse中项目复制后发布出现问题