1050 String Subtraction (20分)

Given two strings S1​​ and S2​​, S=S1​​S2​​ is defined to be the remaining string after taking all the characters in S2​​ from S1​​. Your task is simply to calculate S1​​S2​​ 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 S1​​ and S2​​, respectively. The string lengths of both strings are no more than 1. 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 S1​​S2​​ in one line.

Sample Input:

They are students.
aeiou

Sample Output:

Thy r stdnts.

题目分析:利用map将S2种每个字符存入 再遍历S1进行判断

 1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <climits>
 3 #include<iostream>
 4 #include<vector>
 5 #include<queue>
 6 #include<map>
 7 #include<set>
 8 #include<stack>
 9 #include<algorithm>
10 #include<string>
11 #include<cmath>
12 using namespace std;
13 map<char, int> M;
14 vector<char> V;
15 int main()
16 {
17     string S1,S2;
18     getline(cin, S1);
19     getline(cin, S2);
20     int length = S2.length();
21     for (int i = 0; i <length; i++)
22         M[S2[i]] = 1;
23     length = S1.length();
24     for (int i = 0; i < length; i++)
25         if (!M[S1[i]])
26             V.push_back(S1[i]);
27     for (auto it : V)
28         cout << it;
29 }
View Code

猜你喜欢

转载自www.cnblogs.com/57one/p/12044533.html