西电网络赛 - E

2019-04-14 22:05发布

#include #include #include using namespace std; /**************************************************************************************************************** 题意: 给定两个串 s,s1,在s中删除所有在s1中出现的字符 思路: 1,至今没有想出什么好算法,有点取巧 2,因为题意告诉输入只可能是小写英文字母,所以用数组存上每个字母出现的个数 3,当 a[i] && !b[i] ,即s中出现,s1中没出现的时候,输出该字符 ****************************************************************************************************************/ int main() { int a[26],b[26]; string s,s1; while(cin>>s>>s1) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i = 0;i < s.size();i ++) a[s[i]-'a']++; for(int i = 0;i < s1.size();i ++) b[s1[i]-'a']++; int flag=0; for(int i = 0;i < s.size();i ++){ if(a[s[i]-'a'] && !b[s[i]-'a']){ flag=1; cout<