你跟我的做法挺像,记录0-9的索引,定义一个二维数组记录,但是我的提示是内存不足,0% #include<algorithm> (5863)#include<string> #include<iostream> (5488)#include<vector> using namespace std; const int N = 1000005; int res[N]; int main() { string s; cin >> s; int n; cin >> n; vector<vector<int>>index(10);//索引值 for (int i = 0; i<s.size(); i++) { index[s[i] - '0'].push_back(i); } while (n--) { int a; int b; cin >> a >> b; //把index[a]全部传到index[b] for (int i = 0; i < index[a].size(); i++) { index[b].push_back(index[a][i]); } index[a].clear(); } for (int i = 0; i < index.size(); i++) { for (auto v : index[i]) { res[v] = i; } } for (int i = 0; i<s.size(); i++) cout << res[i]; cout <<endl; }
点赞 9

相关推荐

牛客热帖

牛客网
牛客企业服务