ABC342

C

link

我们可以把所有字母都存上,代表换到最后这个字母换成什么了,当然最开始就是它本身。
那么,把\(c\)改成\(d\)的时候,就只要把所有等于\(c\)的都改成\(d\)就行了。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int n,q;
char s[200005];
int a[30];

signed main(){
	
	cin >> n >> s+1 >> q;
	
	for(int i = 0;i < 26;++ i) a[i] = i;
	
	for(int i = 1;i <= q;++ i){
		char c,d;
		cin >> c >> d;
		for(int j = 0;j < 26;++ j)
			if(a[j] == c-'a') a[j] = d-'a';
	}
	
	for(int i = 1;i <= n;++ i)
		s[i] = a[s[i]-'a']+'a';
	
	cout << s+1;
	
	return 0;
	
} 
posted @ 2024-03-01 20:55  校牌杀手  阅读(17)  评论(0编辑  收藏  举报