团体程序设计天梯赛-练习集L1-011 A-B (20分)getline输入

    科技2022-07-13  135

    little tips:关于天梯赛不能用gets

    题目:

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

    输入格式:

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

    输出格式:

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

    输入样例:

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

    输出样例:

    I lv GPLT! It’s fn gm!

    分析:

    关于天梯赛,不能使用gets输入一行带空格的字符串,这里用getline(cin,s),来输入。

    AC代码:

    #include<iostream> #include<stdio.h> #include<string> #include<string.h> #include<map> #include<algorithm> using namespace std; string a,b; int main() { getline(cin,a); getline(cin,b); map<char,int>mp; mp.clear(); int l1=a.length(); int l2=b.length(); for(int i=0;i<l2;i++) mp[b[i]]++; for(int i=0;i<l1;i++) { if(mp[a[i]]!=0) continue; printf("%c",a[i]); } printf("\n"); return 0; }
    Processed: 0.010, SQL: 8