#include <iostream>
#include <string.h>
#include <map>
using namespace std;
char A[100],B[100];
//a-z对应[0,25] A-Z对应[26,51] 0-9对应[52,61] _对应62
bool a[70],b[70];
map<char,bool> m;
int FindPos(char c)
{
if(c>='a'&&c<='z')
return c-'a';
else if(c>='A'&&c<='Z')
return c-'A'+26;
else if(c>='0'&&c<='9')
return c-'0'+52;
else
return 62;
}
int main()
{
memset(a,false,sizeof(a));
memset(b,false,sizeof(b));
scanf("%s%s",&A,&B);
for(int i=0;A[i]!=0;i++)
{
int pos=FindPos(A[i]);
a[pos]=true;
}
for(int i=0;B[i]!=0;i++)
{
int pos=FindPos(B[i]);
b[pos]=true;
}
for(int i=0;A[i]!=0;i++)
{
int pos=FindPos(A[i]);
if(a[pos]==true&&b[pos]==false&&m.find(toupper(A[i]))==m.end())
{
printf("%c",toupper(A[i]));
m[toupper(A[i])]=true;
}
}
return 0;
}
这题比较简单。