1 solutions
-
1
题意
输入一个字符串。再输入 和 ,让字符串里的 换成
思路
一开始想的是用
find
,但还是 TLE但是样例 3 表现出来,有的字母是换成一个后再换成另一个(比如
a→c→s
),所以可以直接将让这个字母换成最后要换成的字母(a→s
)代码
#include <bits/stdc++.h> using namespace std; int a[26] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; // 初始化,一开始大家都是变成自己 int main(int argc, char **argv){ int n,q;string s; cin >> n >> s >> q; for (int i = 0;i < q;i++){ char c,d; cin >> c >> d; for (int i = 0;i < 26;i++){ // 将指向 c 的直接指向 d if (a[i] == c - 'a') a[i] = d - 'a'; } } for (int i = 0;i < s.size();i++){ // 换字母 s[i] = (char)a[s[i] - 'a'] + 'a'; } cout << s; return 0; }
- 1
Information
- ID
- 1059
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 8
- Tags
- (None)
- # Submissions
- 125
- Accepted
- 17
- Uploaded By