PAT 甲级 1050 String Subtraction

https://pintia.cn/problem-sets/994805342720868352/problems/994805429018673152

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 <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 10;
char s1[maxn], s2[maxn];

int main() {
    cin.getline(s1, maxn);
    cin.getline(s2, maxn);
    int len1 = strlen(s1), len2 = strlen(s2);
    for(int i = 0; i < len1; i ++) {
        for(int j = 0; j < len2; j ++) {
            if(s1[i] == s2[j])
                s1[i] = '*';
        }
    }

    for(int i = 0; i < len1; i ++) {
        if(s1[i] != '*')
            printf("%c", s1[i]);
    }
    printf("\n");
    return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/zlrrrr/p/9426338.html