U132973 双生独白
map出奇迹
#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
map <char,int> m;
map <int,char> mm;
string s,ans;
int main(){
m['0']=0;
m['1']=1;
m['2']=2;
m['3']=3;
m['4']=4;
m['5']=5;
m['6']=6;
m['7']=7;
m['8']=8;
m['9']=9;
m['A']=10;
m['B']=11;
m['C']=12;
m['D']=13;
m['E']=14;
m['F']=15;
m['0']=0;
mm[1]='1';
mm[2]='2';
mm[3]='3';
mm[4]='4';
mm[5]='5';
mm[6]='6';
mm[7]='7';
mm[8]='8';
mm[0]='0';
mm[9]='9';
mm[10]='A';
mm[11]='B';
mm[12]='C';
mm[13]='D';
mm[14]='E';
mm[15]='F';
cin>>s;
ans+='#';
for(int i=1;i<=6;i+=2){
int l=16*m[s[i]]+m[s[i+1]];
//cout<<l<<endl;
int ll=255-l;
// cout<<mm[ll/16];
ans=ans+mm[ll/16]+mm[ll%16];
}
cout<<ans<<endl;
return 0;
}