题解 | 字符串合并处理
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
#include <algorithm>
#include <iostream>
#include<bits/stdc++.h>
#include <vector>
using namespace std;
char change(char c){
switch(c){
case '1':c='8';break;
case '2':c='4';break;
case '3':c='C';break;
case '4':c='2';break;
case '5':c='A';break;
case '6':c='6';break;
case '7':c='E';break;
case '8':c='1';break;
case '9':c='9';break;
case 'a':c='5';break;
case 'A':c='5';break;
case 'b':c='D';break;
case 'B':c='D';break;
case 'c':c='3';break;
case 'C':c='3';break;
case 'd':c='B';break;
case 'D':c='B';break;
case 'e':c='7';break;
case 'E':c='7';break;
case 'f':c='F';break;
case 'F':c='F';break;
}
return c;
}
int main() {
string s,t;
cin>>s>>t;
string u=s.append(t);
string u1,u2;
for(int i=0;i<u.size();i++){
if(i%2==0)u1.push_back(u[i]);
else u2.push_back(u[i]);
}
sort(u1.begin(), u1.end());
sort(u2.begin(), u2.end());
for(int i=0;i<u.size();i++){
if(i%2==0)u[i]=u1[i/2];
else u[i]=u2[i/2];
u[i]=change(u[i]);
}
cout<<u<<endl;
}
// 64 位输出请用 printf("%lld")
中级偷懒大法之人脑比电脑好算


