题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; string quchong(string s) { string s1; int len = s.length(); // s1[0] = s[0]; for (int i = 0; i < len; i++) { if (find(s1.begin(), s1.end(), s[i]) == s1.end()&&s[i]!=' ') { s1.insert(s1.end(), s[i]); } } return s1; } int main() { string s1, s2; getline(cin, s1); getline(cin, s2); //构建密码表 vector<char> mmb; s1 = quchong(s1); //cout<<s1; int len = s1.length(); for (int i = 0; i < len; i++) { mmb.insert(mmb.end(), s1[i]); } for (char c = 'a'; c <= 'z'; c++) { if(find(mmb.begin(),mmb.end(),c)==mmb.end()) { mmb.insert(mmb.end(), c); } } for(int i=0;i<s2.length();i++) { if(s2[i]==' ') { cout<<" "; } else { int index=s2[i]-'a'; cout<<mmb[index]; } } } // 64 位输出请用 printf("%lld")