PAT_A1084
PAT甲级1084.
目录
A1084
题目
样例
输入:
7_This_is_a_test
_hs_s_a_es
输出:
7TI
思路和坑点
遍历一遍输出的结果,使用map容器做标记。然后遍历一遍完整的字符串,如果没有对应的映射值,则输出,并添加map的映射标记,表示已经输出过了。
坑点:
由于需要输出大写,而且大小写都对应同一个键位,所以统一转化为大写进行判定和操作。
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(void){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt","r",stdin);
#endif
string in,broken;
unordered_map<char,int> mp; //用于统计是否损坏
getline(cin,in); //输入序列
getline(cin,broken); //坏掉的序列
for(int i=0;i<broken.size();i++){
broken[i]=toupper(broken[i]); //统一转化为大写
mp[broken[i]]=1; //做标记
}
for(int i=0;i<in.size();i++){
in[i]=toupper(in[i]);
if(mp[in[i]]==0){ //如果不存在代表损坏
mp[in[i]]=1; //修改标记,表示已经输出过,下次不再输出
cout<<in[i];
}
}
return 0;
}