Skip to content

L1-011 A-B

Statement

Metadata

  • 作者: 陈越
  • 单位: 浙江大学
  • 代码长度限制: 16 KB
  • 时间限制: 150 ms
  • 内存限制: 64 MB

本题要求你计算A-B。不过麻烦的是,AB都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B

输入格式

输入在2行中先后给出字符串AB。两字符串的长度都不超过10^4,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。

输出格式

在一行中打印出A-B的结果字符串。

输入样例

I love GPLT!  It's a fun game!
aeiou

输出样例

I lv GPLT!  It's  fn gm!

Solution

#include <ctype.h>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

typedef long long LL;
const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6;
const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;

int main() {
    string s;
    getline(cin, s);
    int len = s.size();
    string temp;
    getline(cin, temp);
    map<char, int> m;
    m.clear();
    int len_ = temp.size();
    for (int i = 0; i < len_; i++) {
        m[temp[i]] = 1;
    }
    for (int i = 0; i < len; i++) {
        if (m[s[i]] == 0)
            cout << s[i];
    }
    cout << endl;
}

Last update: May 4, 2022
Back to top