题目描述
输入一个仅含数字的字符串,再输入一个n。表示有n个字符替换(a, b)
示例:
输入:
02368330924 2
0 2
2 3
输出:
33368333934
不能用暴力解法
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string s;
getline(cin, s);
int n, a, b;
cin >> n;
vector<int> v;
for (int i = 0; i < 10; i++) {
v.push_back(i);
}
while (n) {
cin >> a >> b;
for (int i = 0; i < 10; i++) {
if (v[i] == a) {
v[i] = b;
}
}
n--;
}
for (int i = 0; i < s.size(); i++)
{
if (v[s[i] - '0'] != s[i] - '0')
s[i] = v[s[i] - '0'] + '0';
}
cout << s << endl;
return 0;
}