简单题。
#include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<map> #include<queue> #include<stack> #include<algorithm> using namespace std; const int maxn=100000; char s[maxn],t[maxn],u[maxn]; int flag[1000]; int main() { scanf("%s",s); scanf("%s",t); for(int i=0;s[i];i++) if(s[i]>=‘a‘&&s[i]<=‘z‘) s[i]=s[i]-‘a‘+‘A‘; for(int i=0;t[i];i++) if(t[i]>=‘a‘&&t[i]<=‘z‘) t[i]=t[i]-‘a‘+‘A‘; memset(flag,0,sizeof flag); int p1=0,p2=0; while(1) { if(s[p1]==t[p2]) { p1++; p2++; } else { if(flag[s[p1]]==0) { printf("%c",s[p1]); flag[s[p1]]=1; } p1++; } if(s[p1]==0) break; } return 0; }
PAT (Advanced Level) 1084. Broken Keyboard (20)
原文:http://www.cnblogs.com/zufezzt/p/5636199.html