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.
分析:散列,水题,用map映射比较快
1 /** 2 * Copyright(c) 3 * All rights reserved. 4 * Author : Mered1th 5 * Date : 2019-02-25-21.03.43 6 * Description : A1050 7 */ 8 #include<cstdio> 9 #include<cstring> 10 #include<iostream> 11 #include<cmath> 12 #include<algorithm> 13 #include<string> 14 #include<unordered_set> 15 #include<map> 16 #include<vector> 17 #include<set> 18 using namespace std; 19 20 int main(){ 21 #ifdef ONLINE_JUDGE 22 #else 23 freopen("1.txt", "r", stdin); 24 #endif 25 string a,b; 26 getline(cin,a); 27 getline(cin,b); 28 map<char,int> mp; 29 for(int i=0;i<b.length();i++){ 30 mp[b[i]]++; 31 } 32 for(int i=0;i<a.length();i++){ 33 if(mp[a[i]]==0){ 34 printf("%c",a[i]); 35 } 36 } 37 return 0; 38 }
原文地址:https://www.cnblogs.com/Mered1th/p/10433455.html
时间: 2024-11-05 12:24:22