题解 | #字符串加密#
字符串加密
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")