题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <array> #include <iostream> #include <map> using namespace std; int main() { string s1, s2, output; map<char, bool> mp = {}; cin >> s1; for (char i : s1) { if (!mp[i]) { output += i; } mp[i] = true; } mp.clear(); array<char, 26> res; for (int i = 0; i < output.size(); i++) { res[i] = output[i]; mp[output[i]] = true; } char str = 'a'; for (int i = output.size(); i < 26; i++) { while (mp[str]) { str++; } res[i] = str; str++; } cin >> s2; for (int i = 0; i < s2.size(); i++) { s2[i] = res[s2[i] - 'a']; } cout << s2; } // 64 位输出请用 printf("%lld")