1050 String Subtraction(20 分)
Given two strings S
1
and S
2
, S=S
1
−S
2
is defined to be the remaining string after taking all the characters in S
2
from S
1
. Your task is simply to calculate S
1
−S
2
for any given strings. However, it might not be that simple to do it fast.
Input Specification:
Each input file contains one test case. Each case consists of two lines which gives S
1
and S
2
, respectively. The string lengths of both strings are no more than 10
4
. It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.
Output Specification:
For each test case, print S
1
−S
2
in one line.
Sample Input:
They are students.
aeiou
Sample Output:
Thy r stdnts.
解题思路:
把第二行出现过的做标记,只输出第一行中没做过标记的就行了。
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn=1e4+10;
char s1[maxn],s2[maxn];
bool book[maxn]={false};
int main(){
cin.getline(s1,maxn);
cin.getline(s2,maxn);
int len1=strlen(s1),len2=strlen(s2);
for(int i=0;i<len2;i++)
book[s2[i]]=true;
for(int i=0;i<len1;i++){
if(book[s1[i]]==false)
printf("%c",s1[i]);
}
return 0;
}